在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

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

wxPython RadioButton & RadioBox類

單選按鈕通常表現(xiàn)為一組用戶從多種可選按鈕里選擇一個(gè)選項(xiàng)。每個(gè)按鈕,wx.RadioButton類的一個(gè)對象會在旁邊帶著一個(gè)圓形按鈕文本標(biāo)簽。

為了創(chuàng)建一組相互可選擇的按鈕,首先wxRadioButton對象的樣式參數(shù)設(shè)置為wx.RB_GROUP。后繼按鈕對象會被添加到一組。

wxPython的API還包括wx.RadioBox類。它的對象提供了一個(gè)邊框和標(biāo)簽組。組中的按鈕可以水平或垂直布置。

wx.RadioButton構(gòu)造看起來像 -
Wx.RadioButton(parent, id, label, pos, size, style) 

style參數(shù)僅用于該組中的第一個(gè)按鈕。它的值是wx.RB_GROUP。對于組中的隨后的按鈕,wx.RB_SINGLE的style 參數(shù)可以任選地使用。

每任何組中的按鈕被點(diǎn)擊時(shí) wx.RadioButton 事件綁定器 wx.EVT_RADIOBUTTON 觸發(fā)相關(guān)的處理程序。

wx.RadioButton類的兩種重要的方法是 SetValue() – 選擇或取消選擇按鈕編程,和getValue()  如果選擇一個(gè)按鈕則返回 true,否則返回 false。

wx.RadioBox 則以相互排斥的按鈕集合在一個(gè)靜態(tài)框。該組中的每個(gè)按鈕將其標(biāo)簽從列表對象作為'選擇'wx.RadioBox構(gòu)造函數(shù)的參數(shù)。

RadioBox按鈕將在按行或列的方式逐步布局。對于構(gòu)造的'style'參數(shù)的值應(yīng)該是wx.RA_SPECIFY_ROWS或wx.RA_SPECIFY_COLS。行/列的數(shù)目是由'majordimensions'參數(shù)的值來決定。

wx.RadioBox構(gòu)造函數(shù)的原型是 -
Wx.RadioBox(parent, id, label, pos, size, choices[], initialdimensions, style)
以下是wx.RadioBox類的重要方法 -
S.N. 方法 & 描述
1

GetSelection()

返回所選項(xiàng)目的索引
2

SetSelection()

選擇編程項(xiàng)目
3

GetString()

返回選定項(xiàng)的標(biāo)簽
4

SetString()

分配標(biāo)簽到所選擇的項(xiàng)目
5

Show()

顯示或隱藏指定索引的項(xiàng)目

與wx.RadioBox對象關(guān)聯(lián)的事件綁定是wx.EVT_RADIOBOX。關(guān)聯(lián)的事件處理程序識別按鈕的選擇并處理它。

實(shí)例

下面的例子演示了如何使用RadioBox以及單選按鈕。首先,三個(gè)單選按鈕通過指定wx.RB_GROUP樣式分組并放置在面板上。

self.rb1 = wx.RadioButton(pnl,11, label = 'Value A', pos = (10,10), style = wx.RB_GROUP) 
self.rb2 = wx.RadioButton(pnl,22, label = 'Value B',pos = (10,40)) 
self.rb3 = wx.RadioButton(pnl,33, label = 'Value C',pos = (10,70))
在RadioBox,另一方面,從 lblList[]對象的讀出標(biāo)簽按鈕。
lblList = ['Value X', 'Value Y', 'Value Z']     
self.rbox = wx.RadioBox(pnl,label = 'RadioBox', pos = (80,10), choices = lblList ,
   majorDimension = 1, style = wx.RA_SPECIFY_ROWS)
兩個(gè)事件綁定器,一個(gè)單選按鈕組和其他的 RadioBox 被聲明。
self.Bind(wx.EVT_RADIOBUTTON, self.OnRadiogroup) 
self.rbox.Bind(wx.EVT_RADIOBOX,self.onRadioBox)
相應(yīng)的事件處理程序確定所選擇的按鈕,并在控制臺窗口中顯示消息。
def OnRadiogroup(self, e): 
   rb = e.GetEventObject() 
   print rb.GetLabel(),' is clicked from Radio Group' 
	
def onRadioBox(self,e): 
   print self.rbox.GetStringSelection(),' is clicked from Radio Box' 

RadioBoxAndRadioButton.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.rb1 = wx.RadioButton(pnl,11, label = 'Value A',
         pos = (10,10), style = wx.RB_GROUP) 
      self.rb2 = wx.RadioButton(pnl,22, label = 'Value B',pos = (10,40)) 
      self.rb3 = wx.RadioButton(pnl,33, label = 'Value C',pos = (10,70)) 
      self.Bind(wx.EVT_RADIOBUTTON, self.OnRadiogroup)
		
      lblList = ['Value X', 'Value Y', 'Value Z'] 
		  
      self.rbox = wx.RadioBox(pnl, label = 'RadioBox', pos = (80,10), choices = lblList,
         majorDimension = 1, style = wx.RA_SPECIFY_ROWS) 
      self.rbox.Bind(wx.EVT_RADIOBOX,self.onRadioBox) 
         
      self.Centre() 
      self.Show(True)    
		
   def OnRadiogroup(self, e): 
      rb = e.GetEventObject() 
      print rb.GetLabel(),' is clicked from Radio Group' 
		
   def onRadioBox(self,e): 
      print self.rbox.GetStringSelection(),' is clicked from Radio Box' 
   
ex = wx.App() 
Example(None,'RadioButton & RadioBox - www.yiibai.com') 
ex.MainLoop()
上面的代碼產(chǎn)生下面的輸出 -

Value B is clicked from Radio Group

Value C is clicked from Radio Group

Value Y is clicked from Radio Box

Value X is clicked from Radio Box