通常情況下,一個(gè)復(fù)選框?qū)ο笥袃煞N狀態(tài)(選中或未選中)。如果相應(yīng)的參數(shù)將被賦予三態(tài)復(fù)選框也可以構(gòu)造。
Wx.CheckBox(parent, id, label, pos, size, style)
S.N. |
參數(shù)和說(shuō)明
|
---|---|
1 |
wx.CHK_2STATE
創(chuàng)建兩個(gè)狀態(tài)復(fù)選框。 這是默認(rèn)值
|
2 |
wx.CHK_3STATE
創(chuàng)建三態(tài)復(fù)選框
|
3 |
wx.ALIGN_RIGHT
把一個(gè)盒子標(biāo)簽放在復(fù)選框的左側(cè)
|
這個(gè)類(lèi)有兩個(gè)重要的方法 - GetState()返回true或false,取決于如果該復(fù)選框被選中或未選。SetValue()用于編程方式選擇一個(gè)復(fù)選框。
wx.EVT_CHECKBOX是唯一的事件綁定可用。相關(guān)的事件處理程序?qū)⒃诿看慰蚣苌系娜魏螐?fù)選框被選中或取消時(shí)調(diào)用。
下面是一個(gè)簡(jiǎn)單的例子演示如何使用三個(gè)復(fù)選框。處理函數(shù) OnChecked()識(shí)別對(duì)應(yīng)的復(fù)選框,它負(fù)責(zé)事件并顯示其狀態(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 被點(diǎn)擊為 True
B 被點(diǎn)擊為 True
C 被點(diǎn)擊為 True
B 被點(diǎn)擊為 False