wxpython中設定radiobox相關使用

2022-03-06 11:24:58 字數 3018 閱讀 1189

#

coding=utf-8

import

wxclass

myframe(wx.frame):

def__init__

(self):

wx.frame.

__init__(self,none,-1,"

wxpython radiobox 演示

",size = (800,600))

panel =wx.panel(self)

#第一種方法使用wx.radiobutton類

#radiobutton(parent, id=id_any, label=emptystring,

#pos=defaultposition, size=defaultsize, style=0, validator=defaultvalidator, name=radiobuttonnamestr)

self.check1 = wx.radiobutton(panel,-1,"

value1

",pos = (50,20),style =wx.rb_group)

self.check2 = wx.radiobutton(panel, -1, "

value2

", pos=(150,20))

self.check3 = wx.radiobutton(panel, -1, "

value3

", pos=(250,20))

self.check1.bind(wx.evt_radiobutton,self.event1)

self.check2.bind(wx.evt_radiobutton,self.event1)

self.check3.bind(wx.evt_radiobutton,self.event1)

self.check4 = wx.radiobutton(panel, -1, "

value2-1

", pos=(50,60), style=wx.rb_group)

self.check5 = wx.radiobutton(panel, -1, "

value2-2

", pos=(150,60))

self.check6 = wx.radiobutton(panel, -1, "

value2-3

", pos=(250,60))

self.check4.bind(wx.evt_radiobutton,self.event2)

self.check5.bind(wx.evt_radiobutton, self.event2)

self.check6.bind(wx.evt_radiobutton, self.event2)

#第二種方法使用wx.radiobox類

list3 = ["

value3-1

","value3-2

" ,"

value3-3"]

#radiobox(parent, id=id_any, label=emptystring, pos=defaultposition, size=defaultsize,

#choices=, majordimension=0, style=ra_specify_cols, validator=defaultvalidator, name=radioboxnamestr)

self.radiobox3 = wx.radiobox(panel,-1,"

測試3",pos=(50,100),choices=list3,style=wx.ra_specify_cols)

self.radiobox3.bind(wx.evt_radiobox,self.event3)

list4 = ["

value4-1

","value4-2

" ,"

value4-3"]

self.radiobox4 = wx.radiobox(panel, -1, "

測試4",pos=(50, 180),choices=list4, style=wx.ra_specify_rows)

self.radiobox4.bind(wx.evt_radiobox, self.event4)

#設定初始值,按序號進行選擇,序號從0開始計數

self.radiobox3.setselection(2)

#方式2,設定初始值,通過文字進行選擇

self.radiobox4.setselection(self.radiobox4.findstring("

value4-3"))

defevent1(self,event):

print

"測試1:

",self.check1.getlabel()

defevent2(self,event):

print

"測試2:

", self.check4.getlabel()

defevent3(self,event):

#方式1獲取選中項

print

"測試3:

",self.radiobox3.getstringselection(),self.radiobox3.getselection()

#方式2獲取選中項,更靈活

print

"測試3.1

",event.getstring(),event.getint()

defevent4(self,event):

print

"測試4:

",self.radiobox4.getstringselection()

if__name__ == "

__main__":

frame =myframe()

frame.show()

不排版了,直接放**,乾貨如下:

1、示範了兩種寫法,方法二更簡單。

2、示範了如何在點選事件中獲取 選中項

3、示範如何設定初始值,尤其是根據文字選中,折磨了我好長時間,在原始碼裡猜出來的。

wxPython中自定義事件

建立自定義事件的步驟 定義事件類,該事件類必須繼承自wx.pycommandevent,並定義get和set方法來獲取和設定事件引數。建立乙個事件型別和乙個繫結器物件去繫結該事件到特定的物件。建立自定義事件物件,設定事件引數,並且使用processevent 方法將這個例項引入事件處理系統。繫結自定...

WxPython狀態列的建立和設定方法

今天在使用wxpython開發gui介面的時候,突然想加一下狀態列,於是找了一下新增的方法。新增方法基本有兩種 第一種是單獨建立乙個statusbar物件,再將再新增到當前視窗 第二種則是將statusbar當做是當前視窗建立出來的物件。結構上稍微有一些不一樣。statusbar wx.status...

wxpython中滑鼠樣式的獲取與匹配

在wxpython中定義有多種預設的滑鼠樣式,譬如 wx.cursorcross wx.cursorhand等等,此處按下不表,可以參考wxpython的samples裡面自帶的cursor例子 首先,獲取非常簡單,getcursor 即可 接著,匹配貌似易如反掌嘛,if self.getcurso...