wxPython RadioBox单选框的用法
RadioBox 单选框从某一组元素中只能有一个被选中,如果某个元素被单击选中,那么其他元素都会取消选中。
RadioBox的初始化函数定义如下:
RadioBox(parent, id=ID_ANY, label=EmptyString, # 关联的文本库 pos=DefaultPosition, # 默认值的位置,从0开始计数 size=DefaultSize, choices=[], # 候选项列表 majorDimension=0, style=RA_SPECIFY_COLS, validator=DefaultValidator, name=RadioBoxNameStr)
该元素包含很多属性,其中最主要的属性有两个,一个是 label,也就是单选框的标题;另外一个是 choices,也就是该组元素的标签列表。另外还有一个接口函数 GetSelection(),用来返回被选中的元素的位置,返回值是一个整数,如果是 0 表示第一个候选项被选中,如果是 1 表示第二个候选项被选中。
下面是选择商品的一个例子,用户可以选择商品个个数和商品种类,并且这两个选项都是单选的。下面是完整的代码:
import wx class RadioButtonFrameDemo1(wx.Frame): def __init__(self): wx.Frame.__init__(self, None, -1, # 系统自动生成ID值 'RadioBox演示', # 标题 size=(350, 200)) panel = wx.Panel(self, -1) sampleList1 = ['0', '1', '2', '3', '4', '5', '6', '7', '8'] wx.RadioBox(panel, -1, "选择商品个数", (10, 10), wx.DefaultSize, sampleList1, 2, wx.RA_SPECIFY_COLS) sampleList2 = [u'苹果', u'桃', u'梨'] wx.RadioBox(panel, -1, "选择商品种类", (150, 10), wx.DefaultSize, sampleList2, 3, wx.RA_SPECIFY_COLS | wx.NO_BORDER) if __name__ == '__main__': app = wx.App() frame = RadioButtonFrameDemo1() frame.Show(True) app.MainLoop()
运行后可以看到图 1 所示的窗口。
可以通过鼠标单击来设定商品种类和个数,操作后窗口如图 2 所示。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试