通常情況下,一個核取方塊物件有兩種狀態(選中或未選中)。如果相應的引數將被賦予三態核取方塊也可以構造。
Wx.CheckBox(parent, id, label, pos, size, style)
S.N. |
引數和說明
|
---|---|
1 |
wx.CHK_2STATE
建立兩個狀態核取方塊。 這是預設值
|
2 |
wx.CHK_3STATE
建立三態核取方塊
|
3 |
wx.ALIGN_RIGHT
把一個盒子標籤放在核取方塊的左側
|
這個類有兩個重要的方法 - GetState()返回true或false,取決於如果該核取方塊被選中或未選。SetValue()用於程式設計方式選擇一個核取方塊。
wx.EVT_CHECKBOX是唯一的事件係結可用。相關的事件處理程式將在每次框架上的任何核取方塊被選中或取消時呼叫。
下面是一個簡單的例子演示如何使用三個核取方塊。處理常式 OnChecked()識別對應的核取方塊,它負責事件並顯示其狀態。
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.tw511.com') ex.MainLoop()
A 被點選為 True
B 被點選為 True
C 被點選為 True
B 被點選為 False