<p>下面是一个简短的GTK2+/PyGTK演示;如果需要,它应该很容易适应GTK3。在</p>
<p>GUI包含一个切换按钮和一个普通按钮。ToggleButton的回调函数只打印按钮的状态,无论是通过用户单击它还是通过其他代码调用它的<code>set_active</code>方法。普通按钮在单击时打印一条消息,它还可以切换ToggleButton。在</p>
<pre><code>#!/usr/bin/env python2
from __future__ import print_function
import pygtk
pygtk.require('2.0')
import gtk
class Test(object):
def __init__(self):
win = gtk.Window(gtk.WINDOW_TOPLEVEL)
win.connect("destroy", lambda w: gtk.main_quit())
box = gtk.HBox()
box.show()
win.add(box)
self.togglebutton = button = gtk.ToggleButton('toggle')
button.connect("toggled", self.togglebutton_cb)
box.pack_start(button, expand=True, fill=False)
button.show()
button = gtk.Button('plain')
button.connect("clicked", self.button_cb)
box.pack_start(button, expand=True, fill=True)
button.show()
win.show()
gtk.main()
def button_cb(self, widget):
s = "%s button pressed" % widget.get_label()
print(s)
print('Toggling...')
tb = self.togglebutton
state = tb.get_active()
tb.set_active(not state)
def togglebutton_cb(self, widget):
state = widget.get_active()
s = "%s button toggled to %s" % (widget.get_label(), ("off", "on")[state])
print(s)
Test()
</code></pre>
<p><strong>典型输出</strong></p>
^{pr2}$