- wxPython 教程
- wxPython - 主頁
- wxPython - 介紹
- wxPython - 環境
- wxPython - Hello World
- wxPython - GUI 構建工具
- wxPython - 主要類
- wxPython - 事件處理
- wxPython - 佈局管理
- wxPython - 按鈕
- wxPython - 可停靠視窗
- 多文件介面
- wxPython - 繪圖 API
- wxPython - 拖放
- wxPython 資源
- wxPython - 快速指南
- wxPython - 有用資源
- wxPython - 討論
wxPython - 複選框類
一個 複選框 顯示一個標有標籤的小矩形框。單擊時,矩形內會出現一個對勾,表示做出選擇。當允許使用者做出多項選擇時,複選框將優先於單選按鈕。在這種情況下,第三個狀態稱為混合狀態或未確定狀態,一般用於“不適用”的情況。
通常,複選框物件有兩種狀態(選中或未選中)。如果給出了適當的 style 引數,也可以構造 三態複選框。
wx.CheckBox 類建構函式採用以下引數 −
Wx.CheckBox(parent, id, label, pos, size, style)
可以使用以下 style 引數值 −
| 序號 | 引數和說明 |
|---|---|
| 1 | wx.CHK_2STATE 建立兩個狀態的複選框。預設 |
| 2 | wx.CHK_3STATE 建立三個狀態的複選框 |
| 3 | wx.ALIGN_RIGHT 將一個框標籤放置在複選框的左邊 |
此類有兩種重要的方法 - GetState() 根據複選框是否被選中返回 true 或 false。SetValue() 用於以程式設計方式選擇複選框。
wx.EVT_CHECKBOX 是唯一可用的事件繫結器。每次選中或取消選中窗體上的任何複選框時,都會呼叫關聯的事件處理程式。
例項
以下是一個簡單的示例,演示如何使用三個複選框。處理函式 OnChecked() 識別導致該事件並顯示其狀態的複選框。
完整程式碼如下 −
import wx
class Example(wx.Frame):
def __init__(self, parent, title):
super(Example, self).__init__(parent, title = title,size = (200,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')
ex.MainLoop()
上述程式碼會生成以下輸出 −
值 A 被單擊 True
值 B 被單擊 True
值 C 被單擊 True
值 B 被單擊 False
wxpython_major_classes.htm
廣告