通常情況下,一個復選框對象有兩種狀態(tài)(選中或未選中)。如果相應的參數將被賦予三態(tài)復選框也可以構造。
Wx.CheckBox(parent, id, label, pos, size, style)
| S.N. |
參數和說明
|
|---|---|
| 1 |
wx.CHK_2STATE
創(chuàng)建兩個狀態(tài)復選框。 這是默認值
|
| 2 |
wx.CHK_3STATE
創(chuàng)建三態(tài)復選框
|
| 3 |
wx.ALIGN_RIGHT
把一個盒子標簽放在復選框的左側
|
這個類有兩個重要的方法 - GetState()返回true或false,取決于如果該復選框被選中或未選。SetValue()用于編程方式選擇一個復選框。
wx.EVT_CHECKBOX是唯一的事件綁定可用。相關的事件處理程序將在每次框架上的任何復選框被選中或取消時調用。
下面是一個簡單的例子演示如何使用三個復選框。處理函數 OnChecked()識別對應的復選框,它負責事件并顯示其狀態(tài)。
CheckBox.py 完整源代碼 −
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title,size = (300,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 Demo - www.yiibai.com')
ex.MainLoop()


A 被點擊為 True
B 被點擊為 True
C 被點擊為 True
B 被點擊為 False