⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spinbutton.py

📁 pygtk的教程
💻 PY
字号:
#!/usr/bin/env python# example spinbutton.pyimport pygtkpygtk.require('2.0')import gtkclass SpinButtonExample:    def toggle_snap(self, widget, spin):        spin.set_snap_to_ticks(widget.get_active())    def toggle_numeric(self, widget, spin):        spin.set_numeric(widget.get_active())    def change_digits(self, widget, spin, spin1):        spin1.set_digits(spin.get_value_as_int())    def get_value(self, widget, data, spin, spin2, label):        if data == 1:            buf = "%d" % spin.get_value_as_int()        else:            buf = "%0.*f" % (spin2.get_value_as_int(),                             spin.get_value())        label.set_text(buf)    def __init__(self):        window = gtk.Window(gtk.WINDOW_TOPLEVEL)        window.connect("destroy", lambda w: gtk.main_quit())        window.set_title("Spin Button")        main_vbox = gtk.VBox(False, 5)        main_vbox.set_border_width(10)        window.add(main_vbox)        frame = gtk.Frame("Not accelerated")        main_vbox.pack_start(frame, True, True, 0)          vbox = gtk.VBox(False, 0)        vbox.set_border_width(5)        frame.add(vbox)        # Day, month, year spinners        hbox = gtk.HBox(False, 0)        vbox.pack_start(hbox, True, True, 5)          vbox2 = gtk.VBox(False, 0)        hbox.pack_start(vbox2, True, True, 5)        label = gtk.Label("Day :")        label.set_alignment(0, 0.5)        vbox2.pack_start(label, False, True, 0)          adj = gtk.Adjustment(1.0, 1.0, 31.0, 1.0, 5.0, 0.0)        spinner = gtk.SpinButton(adj, 0, 0)        spinner.set_wrap(True)        vbox2.pack_start(spinner, False, True, 0)          vbox2 = gtk.VBox(False, 0)        hbox.pack_start(vbox2, True, True, 5)          label = gtk.Label("Month :")        label.set_alignment(0, 0.5)        vbox2.pack_start(label, False, True, 0)        adj = gtk.Adjustment(1.0, 1.0, 12.0, 1.0, 5.0, 0.0)        spinner = gtk.SpinButton(adj, 0, 0)        spinner.set_wrap(True)        vbox2.pack_start(spinner, False, True, 0)          vbox2 = gtk.VBox(False, 0)        hbox.pack_start(vbox2, True, True, 5)          label = gtk.Label("Year :")        label.set_alignment(0, 0.5)        vbox2.pack_start(label, False, True, 0)          adj = gtk.Adjustment(1998.0, 0.0, 2100.0, 1.0, 100.0, 0.0)        spinner = gtk.SpinButton(adj, 0, 0)        spinner.set_wrap(False)        spinner.set_size_request(55, -1)        vbox2.pack_start(spinner, False, True, 0)          frame = gtk.Frame("Accelerated")        main_vbox.pack_start(frame, True, True, 0)          vbox = gtk.VBox(False, 0)        vbox.set_border_width(5)        frame.add(vbox)          hbox = gtk.HBox(False, 0)        vbox.pack_start(hbox, False, True, 5)          vbox2 = gtk.VBox(False, 0)        hbox.pack_start(vbox2, True, True, 5)          label = gtk.Label("Value :")        label.set_alignment(0, 0.5)        vbox2.pack_start(label, False, True, 0)          adj = gtk.Adjustment(0.0, -10000.0, 10000.0, 0.5, 100.0, 0.0)        spinner1 = gtk.SpinButton(adj, 1.0, 2)        spinner1.set_wrap(True)        spinner1.set_size_request(100, -1)        vbox2.pack_start(spinner1, False, True, 0)          vbox2 = gtk.VBox(False, 0)        hbox.pack_start(vbox2, True, True, 5)          label = gtk.Label("Digits :")        label.set_alignment(0, 0.5)        vbox2.pack_start(label, False, True, 0)          adj = gtk.Adjustment(2, 1, 5, 1, 1, 0)        spinner2 = gtk.SpinButton(adj, 0.0, 0)        spinner2.set_wrap(True)        adj.connect("value_changed", self.change_digits, spinner2, spinner1)        vbox2.pack_start(spinner2, False, True, 0)          hbox = gtk.HBox(False, 0)        vbox.pack_start(hbox, False, True, 5)        button = gtk.CheckButton("Snap to 0.5-ticks")        button.connect("clicked", self.toggle_snap, spinner1)        vbox.pack_start(button, True, True, 0)        button.set_active(True)          button = gtk.CheckButton("Numeric only input mode")        button.connect("clicked", self.toggle_numeric, spinner1)        vbox.pack_start(button, True, True, 0)        button.set_active(True)          val_label = gtk.Label("")          hbox = gtk.HBox(False, 0)        vbox.pack_start(hbox, False, True, 5)        button = gtk.Button("Value as Int")        button.connect("clicked", self.get_value, 1, spinner1, spinner2,                       val_label)        hbox.pack_start(button, True, True, 5)          button = gtk.Button("Value as Float")        button.connect("clicked", self.get_value, 2, spinner1, spinner2,                       val_label)        hbox.pack_start(button, True, True, 5)          vbox.pack_start(val_label, True, True, 0)        val_label.set_text("0")          hbox = gtk.HBox(False, 0)        main_vbox.pack_start(hbox, False, True, 0)          button = gtk.Button("Close")        button.connect("clicked", lambda w: gtk.main_quit())        hbox.pack_start(button, True, True, 5)        window.show_all()def main():    gtk.main()    return 0if __name__ == "__main__":    SpinButtonExample()    main()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -