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()返回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