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