Pygtk 简明教程

PyGTK - CheckButton Class

CheckButton 小部件只不过是一个设计成复选框和标签的 ToggleButton。它继承 ToggleButton 类中所有的属性和方法。与标题在按钮表面上的 ToggleButton 不同,CheckButton 显示一个可勾选的小方块,其右侧有一个标签。

与 gtk.CheckButton 相关联的构造器、方法和信号与 gtk.ToggleButton 完全相同。

Example

以下示例演示了 CheckButton 小部件的使用。两个 CheckButton 和一个 Label 被置于一个 VBox 中。第一个 CheckButton 的 toggled 信号连接到 on_checked() 方法,该方法将第二个按钮的状态设置为 True(前提是第一个按钮的状态为 fasle,反之亦然)。

观察代码 −

import gtk

class PyApp(gtk.Window):

   def __init__(self):
      super(PyApp, self).__init__()
      self.set_title("Check Button")
      self.set_default_size(250, 200)
      self.set_position(gtk.WIN_POS_CENTER)

      vbox = gtk.VBox()
      self.btn1 = gtk.CheckButton("Button 1")
      self.btn1.connect("toggled", self.on_checked)
      self.btn2 = gtk.CheckButton("Button 2")
      self.btn2.connect("toggled", self.on_checked)
      self.lbl = gtk.Label()

      vbox.add(self.btn1)
      vbox.add(self.btn2)
      vbox.add(self.lbl)

      self.add(vbox)
      self.connect("destroy", gtk.main_quit)
      self.show_all()

   def on_checked(self, widget, data = None):
      state = "Button1 : "+str(self.btn1.get_active())+"
         Button2 : "+str(self.btn2.get_active())
      self.lbl.set_text(state)
if __name__ == '__main__':
   PyApp()
   gtk.main()

上述代码将生成以下输出 −

check button