- PyGTK 教程
- PyGTK - 主页
- PyGTK - 简介
- PyGTK - 环境
- PyGTK - 你好世界
- PyGTK - 重要类
- PyGTK - 窗口类
- PyGTK - 按钮类
- PyGTK - 标签类
- PyGTK - 入门级
- PyGTK - 信号处理
- PyGTK - 事件处理
- PyGTK - 容器
- PyGTK - 盒子类
- PyGTK - ButtonBox 类
- PyGTK - 对齐类
- PyGTK - EventBox 类
- PyGTK - 布局类
- PyGTK - 组合框类
- PyGTK - ToggleButton 类
- PyGTK - CheckButton 类
- PyGTK - 单选按钮类
- PyGTK - 菜单栏、菜单和菜单项
- PyGTK - 工具栏类
- PyGTK - 调整类
- PyGTK - 范围类
- PyGTK - 规模类
- PyGTK - 滚动条类
- PyGTK - 对话框类
- PyGTK - 消息对话框类
- PyGTK - AboutDialog 类
- PyGTK - 字体选择对话框
- PyGTK - 颜色选择对话框
- PyGTK - 文件选择器对话框
- PyGTK - 笔记本类
- PyGTK - 框架类
- PyGTK - AspectFrame 类
- PyGTK - TreeView 类
- PyGTK - 窗格类
- PyGTK - 状态栏类
- PyGTK - ProgressBar 类
- PyGTK - 视口类
- PyGTK - 滚动窗口类
- PyGTK - 箭头类
- PyGTK - 图像类
- PyGTK - DrawingArea 类
- PyGTK - SpinButton 类
- PyGTK - 日历类
- PyGTK - 剪贴板类
- PyGTK - 标尺类
- PyGTK - 超时
- PyGTK - 拖放
- PyGTK 有用资源
- PyGTK - 快速指南
- PyGTK - 有用的资源
- PyGTK - 讨论
PyGTK - ToggleButton 类
ToggleButton 小部件是一个具有两种状态的 gtk.Button -按下或活动(或打开)状态和正常或非活动(或关闭)状态。每次按下按钮时,状态都会交替。ToggleButton 的状态也可以通过 set_active() 方法以编程方式更改。要切换按钮的状态,也可以使用toggled()方法。
gtk.ToggleButton 类具有以下构造函数 -
gtk.ToggleButton(label = None, use_underline = True)
这里,标签是要显示在按钮上的测试。use_underline 属性,如果为 True,则文本中的下划线表示下一个字符应加下划线并用于助记符加速器。
下表给出了 gtk.ToggleButton 类的一些重要方法 -
设置活动() | 这会将active属性的值设置为True(活动或按下或打开)或False(非活动或正常或关闭) |
获取活动() | 这将检索按钮的状态 |
切换() | 这会在切换按钮上发出“切换”信号。 |
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)
它显示标签上按钮的瞬时状态。
例子
观察以下代码 -
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()
上面的代码生成以下输出 -