wxPython – CheckBox类

wxPython – CheckBox类

一个 复选框 显示一个有标签的小矩形框。当点击时,矩形内会出现一个复选标记,表示做出了选择。当允许用户做出一个以上的选择时,复选框比单选按钮更受欢迎。在这种情况下,第三种状态被称为混合或未确定状态,一般用于 “不适用 “的情况。

通常情况下,一个复选框对象有两种状态(选中或未选中)。 如果给出适当的样式参数,也可以构造 三态复选框

wx.CheckBox类的构造函数需要以下参数—

Wx.CheckBox(parent, id, label, pos, size, style)

可以使用以下风格参数值 −

S.N. 参数和描述
1 wx.CHK_2STATE 创建双状态复选框。默认值
2 wx.CHK_3STATE 创建三个状态的复选框。
3 wx.ALIGN_RIGHT 将盒子的标签放在复选框的左边。

这个类有两个重要的方法–GetState()根据复选框是否被选中,返回真或假。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()

上述代码产生了以下输出 —

wxPython - CheckBox类

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程