鍍金池/ 教程/ Python/ wxPython CheckBox類(lèi)
wxPython GUI構(gòu)建工具wxFormBuilder
wxPython StaticText類(lèi)
WxPython教程
wxPython可??看翱?/span>
wxPython ComboBox & Choice類(lèi)
wxPython FlexiGridSizer布局
wxPython入門(mén)(Hello World)
wxPython RadioButton & RadioBox類(lèi)
wxPython拖放
wxPython HTMLWindow類(lèi)
wxPython ToolBar類(lèi)
wxPython GridBagSizer布局
wxPython Dialog類(lèi)
wxPython布局管理
wxPython TextCtrl類(lèi)
wxPython開(kāi)發(fā)環(huán)境安裝
wxPython Slider類(lèi)
wxPython CheckBox類(lèi)
wxPython Major類(lèi)
wxPython GridSizer布局
wxPython事件處理
wxPython SplitterWindow類(lèi)
Menu Item, Menu & MenuBar類(lèi)
wxPython Button控件
wxPython StaticBoxSizer布局
wxPython Guage類(lèi)
wxPython Frame類(lèi)
wxPython多文檔界面
wxPython Panel類(lèi)
wxPython BoxSizer布局
wxPython繪圖API

wxPython CheckBox類(lèi)

一個(gè)復(fù)選框顯示一個(gè)小標(biāo)記的矩形框。單擊時(shí),復(fù)選標(biāo)記出現(xiàn)在矩形內(nèi),指示作出選擇。 復(fù)選框優(yōu)于單選按鈕,當(dāng)允許用戶(hù)多選。在這種情況下,第三狀態(tài)稱(chēng)為混合或不確定的狀態(tài),一般用在“不適用”情景。

通常情況下,一個(gè)復(fù)選框?qū)ο笥袃煞N狀態(tài)(選中或未選中)。如果相應(yīng)的參數(shù)將被賦予三態(tài)復(fù)選框也可以構(gòu)造。

wx.CheckBox類(lèi)的構(gòu)造函數(shù)的參數(shù)如下 -
Wx.CheckBox(parent, id, label, pos, size, style)
以下樣式參數(shù)值可以使用 -
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)用。

實(shí)例

下面是一個(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()
上面的代碼產(chǎn)生下面的輸出 -

A 被點(diǎn)擊為 True

B 被點(diǎn)擊為 True

C 被點(diǎn)擊為 True

B 被點(diǎn)擊為 False