ToggleButton 类(ToggleButton Class)
优质
小牛编辑
128浏览
2023-12-01
ToggleButton小部件是一个具有两种状态的gtk.Button - pressed or active (或打开)状态和normal or inactive (or off)状态。 每次按下按钮,状态交替显示。 ToggleButton的状态也可以通过set_active()方法以编程方式更改。 要切换按钮的状态,也可以使用toggled()方法。
gtk.ToggleButton类具有以下构造函数 -
gtk.ToggleButton(label = None, use_underline = True)
这里,label是要在按钮上显示的测试。 use_underline属性(如果为True),文本中的下划线表示下一个字符应加下划线并用于助记符加速器。
gtk.ToggleButton类的一些重要方法在下表中给出 -
set_active() | 这会将active属性设置为True (活动或按下或打开)或False (非活动或正常或关闭) |
get_active() | 这将检索按钮的状态 |
toggled() | 这会在togglebutton上发出“切换”信号。 |
ToggleButton小部件发出以下信号 -
Toggled | 当togglebutton状态以编程方式或用户操作更改时,会发出此消息。 |
下面给出的代码演示了ToggleButton小部件的使用。
两个ToggleButtons和Label小部件放在VBox容器中。 Button1发出的切换信号连接到回调函数on_toggled()。 在此函数中,如果Button1的状态为False,则Button2的状态设置为True,反之亦然。
if self.btn1.get_active() == True:
self.btn2.set_active(False)
else:
self.btn2.set_active(True)
它显示标签上按钮的瞬时状态。
例子 (Example)
请注意以下代码 -
import gtk
PyApp(gtk.Window):
def __init__(self):
super(PyApp, self).__init__()
self.set_title("Toggle Button")
self.set_default_size(250, 200)
self.set_position(gtk.WIN_POS_CENTER)
vbox = gtk.VBox()
self.btn1 = gtk.ToggleButton("Button 1")
self.btn1.connect("toggled", self.on_toggled)
self.btn2 = gtk.ToggleButton("Button 2")
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_toggled(self, widget, data = None):
if self.btn1.get_active() == True:
self.btn2.set_active(False)
else:
self.btn2.set_active(True)
state = "Button1 : "+str(self.btn1.get_active())+"
Button2 : "+str(self.btn2.get_active())
self.lbl.set_text(state)
if __name__ == '__main__':
PyApp()
gtk.main()
上面的代码生成以下输出 -