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

鍍金池/ 教程/ Python/ wxPython ComboBox & Choice類
wxPython GUI構(gòu)建工具wxFormBuilder
wxPython StaticText類
WxPython教程
wxPython可??看翱?/span>
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 ComboBox & Choice類

wx.ComboBox對象提供從項目選擇列表。它可以被配置為一個下拉列表或永久性的顯示。

從列表中選擇的項目顯示在文本字段中,默認(rèn)情況下是可編輯的,但是可以在wx.CB_READONLY style 參數(shù)設(shè)置為只讀。

wxPython API包含一個wx.Choice類,其目的也是一個下拉列表,是永久只讀。

使用 wx.ComboBox 類構(gòu)造函數(shù)的參數(shù) −

Wx.ComboBox(parent, id, value, pos, size, choices[], style) 

value參數(shù)是要顯示在組合框的文本框中的文本。 它是由 choices[] 集合中的項目進(jìn)行填充。

下面的樣式參數(shù)定義為 wx.ComboBox -
S.N.
參數(shù)和說明
1

wx.CB_SIMPLE

組合框與永久顯示的列表
2

wx.CB_DROPDOWN

組合框與下拉列表
3

wx.CB_READONLY

選擇的項目是不可編輯
4

wx.CB_SORT

列表顯示按字母順序

下表顯示了常用wx.ComboBox類的方法 −

S.N.
方法和說明
1

GetCurrentSelection ()

返回被選中的項目
2

SetSelection()

將給定索引處的項設(shè)置為選中狀態(tài)
3

GetString()

返回給定索引處的項目關(guān)聯(lián)的字符串
4

SetString()

給定索引處更改項目的文本
5

SetValue()

設(shè)置一個字符串作為組合框文本顯示在編輯字段中
6

GetValue()

返回組合框的文本字段的內(nèi)容
7

FindString()

搜索列表中的給定的字符串
8

GetStringSelection()

獲取當(dāng)前所選項目的文本
事件綁定器生成此類的事件如下 -
S.N.
事件和說明
1

wx. COMBOBOX

當(dāng)列表項目被選擇
2

wx. EVT_TEXT

當(dāng)組合框的文本發(fā)生變化
3

wx. EVT_COMBOBOX_DROPDOWN

當(dāng)下拉列表
4

wx. EVT_COMBOBOX_CLOSEUP

當(dāng)列表折疊起來

wx.Choice類的構(gòu)造函數(shù)原型如下 −

wx.Choice(parent, id, pos, size, n, choices[], style) 

參數(shù)“n”代表字符串的數(shù)目使于選擇列表的初始化。像組合框,項目被填充到 choices[]集合列表。

對于選擇類,wx.CB_SORT為只有一個類型的參數(shù)定義。wx.EVT_CHOICE為只有一個事件綁定處理由該類發(fā)出的事件。

實例

下面的示例顯示 wx.ComboBox 和 wx.Choice 的特點(diǎn)。這兩個對象被放在一個垂直的盒子大小測定器(sizer)。這些項目用于填充languages[]列表的對象。

languages = ['C', 'C++', 'Python', 'Java', 'Perl'] 
self.combo = wx.ComboBox(panel,choices = languages) 
self.choice = wx.Choice(panel,choices = languages)
事件綁定器EVT_COMBOBOX和EVT_CHOICE相應(yīng)的對它們的事件處理。
self.combo.Bind(wx.EVT_COMBOBOX, self.OnCombo) 
self.choice.Bind(wx.EVT_CHOICE, self.OnChoice)
下面的處理函數(shù)從標(biāo)簽的列表中顯示所選項目。
def OnCombo(self, event): 
   self.label.SetLabel("selected "+ self.combo.GetValue() +" from Combobox") 
	
def OnChoice(self,event): 
   self.label.SetLabel("selected "+ self.choice.
      GetString( self.choice.GetSelection() ) +" from Choice")
完整的代碼列表如下 -
import wx  
class Mywin(wx.Frame): 
   def __init__(self, parent, title): 
      super(Mywin, self).__init__(parent, title = title,size = (300,200)) 
		
      panel = wx.Panel(self) 
      box = wx.BoxSizer(wx.VERTICAL) 
      self.label = wx.StaticText(panel,label = "Your choice:" ,style = wx.ALIGN_CENTRE) 
      box.Add(self.label, 0 , wx.EXPAND |wx.ALIGN_CENTER_HORIZONTAL |wx.ALL, 20) 
      cblbl = wx.StaticText(panel,label = "Combo box",style = wx.ALIGN_CENTRE) 
		
      box.Add(cblbl,0,wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL,5) 
      languages = ['C', 'C++', 'Python', 'Java', 'Perl'] 
      self.combo = wx.ComboBox(panel,choices = languages) 
		
      box.Add(self.combo,1,wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL,5) 
      chlbl = wx.StaticText(panel,label = "Choice control",style = wx.ALIGN_CENTRE) 
		
      box.Add(chlbl,0,wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL,5) 
      self.choice = wx.Choice(panel,choices = languages) 
      box.Add(self.choice,1,wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL,5) 
         
      box.AddStretchSpacer() 
      self.combo.Bind(wx.EVT_COMBOBOX, self.OnCombo) 
      self.choice.Bind(wx.EVT_CHOICE, self.OnChoice)
		
      panel.SetSizer(box) 
      self.Centre() 
      self.Show() 
		  
   def OnCombo(self, event): 
      self.label.SetLabel("You selected"+self.combo.GetValue()+" from Combobox") 
		
   def OnChoice(self,event): 
      self.label.SetLabel("You selected "+ self.choice.GetString
         (self.choice.GetSelection())+" from Choice") 
                             
app = wx.App() 
Mywin(None,  'ComboBox & Choice Demo - www.yiibai.com') 
app.MainLoop()
上面的代碼產(chǎn)生下面的輸出 -


上一篇:wxPython Frame類下一篇:wxPython Slider類