Copyright © 2022-2025 aizws.net · 网站版本: v1.2.6·内部版本: v1.25.2·
页面加载耗时 0.00 毫秒·物理内存 150.2MB ·虚拟内存 1437.8MB
欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
复选框 显示一个小标记的矩形框。单击时,矩形内会出现一个复选标记,表示已做出选择。当允许用户进行多个选择时,复选框优于单选按钮。在这种情况下,第三种状态称为混合或未确定状态,通常用于“不适用”场景。
通常,复选框对象具有两种状态(已选中或未选中)。如果给出了适当的样式参数,也可以构造 三态复选框 。
wx.CheckBox类构造函数采用以下参数:
Wx.CheckBox(parent, id, label, pos, size, style)
可以使用以下样式参数值:
| 序号 | 参数和描述 |
|---|---|
| 1 |
wx.CHK_2STATE 创建两个状态复选框。默认 |
| 2 |
wx.CHK_3STATE 创建三个状态复选框 |
| 3 |
wx.ALIGN_RIGHT 在复选框的左侧放置一个框标签 |
这个类有两个重要的方法 - GetState()返回true或false,具体取决于是否选中了复选框。SetValue()用于以编程方式选择复选框。
wx.EVT_CHECKBOX是唯一可用的事件绑定器。每次选中或取消选中框架上的任何复选框时,都会调用关联的事件处理程序。
以下是演示使用三个复选框的简单示例。处理程序函数OnChecked()标识复选框,该复选框负责事件并显示其状态。
完整的代码是:
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title,size = (200,200))
self.InitUI()
def InitUI(self):
pnl = wx.Panel(self)
self.cb1 = wx.CheckBox(pnl, label = 'Value A',pos = (10,10))
self.cb2 = wx.CheckBox(pnl, label = 'Value B',pos = (10,40))
self.cb3 = wx.CheckBox(pnl, label = 'Value C',pos = (10,70))
self.Bind(wx.EVT_CHECKBOX,self.onChecked)
self.Centre()
self.Show(True)
def onChecked(self, e):
cb = e.GetEventObject()
print cb.GetLabel(),' is clicked',cb.GetValue()
ex = wx.App()
Example(None,'CheckBox')
ex.MainLoop()
上面的代码产生以下输出:

单击值为True
单击值为True
单击值C为True
单击值B为False
一个 wx.ComboBox 对象提供的项目从选择的列表。它可以配置为下拉列表或永久显示。列表中的选定项目显示在文本字段中,默认情况下该文本字段是可编辑的,但可以在wx.CB_READON ...