wxPython – 用两步创建单选框
在这篇文章中,我们将学习如何在一个框架中创建一个单选框。一个单选框项目是用来选择一些相互排斥的选择之一。它被显示为一列垂直的或水平的标记按钮。
为了创建单选框,我们将使用wxPython的wx.RadioBox类中的Create()函数。Create()函数将单选框的不同属性作为参数。
语法:
wx.RadioBox.Create( parent, id=ID_ANY, label=””, pos=DefaultPosition,
size=DefaultSize, choices=[], majorDimension=0, style=RA_SPECIFY_COLS,
validator=DefaultValidator, name=RadioBoxNameStr )
参数。
参数 | 输入类型 | 说明 |
---|---|---|
parent | wx.Window | 父窗口。不应该是无。 |
id | wx.WindowID | 控件标识符。值为-1表示默认值。 |
lable | 字符串 | 文本标签。 |
pos | wx.Point | 窗口的位置。 |
size | wx.Window | 窗口的大小。 |
choices | 字符串的列表 | 窗口样式。 |
majorDimension | int | 指定二维辐射框的最大行数(如果样式包含RA_SPECIFY_ROWS)或列数(如果样式包含RA_SPECIFY_COLS)。默认值为0意味着使用项目数,即选择中的元素数。 |
style | 长 | 一个选择数组,用它来初始化radiobox。 |
validator | wx.validator | 窗口验证器。 |
name | 字符串 | 窗口名称。 |
代码示例。
import wx
class FrameUI(wx.Frame):
def __init__(self, parent, title):
super(FrameUI, self).__init__(parent, title = title, size =(300, 200))
# function for in-frame components
self.InitUI()
def InitUI(self):
# parent panel for radio box
pnl = wx.Panel(self)
# list of choices
lblList = ['Value X', 'Value Y', 'Value Z']
# create radio box
self.rbox = wx.RadioBox()
# create with two step creation using Create() function
self.rbox.Create(pnl, label ='RadioBox', pos =(80, 10), choices = lblList,
majorDimension = 1, style = wx.RA_SPECIFY_ROWS)
# set frame in centre
self.Centre()
# set size of frame
self.SetSize((400, 250))
# show output frame
self.Show(True)
# wx App instance
ex = wx.App()
# Example instance
FrameUI(None, 'RadioButton and RadioBox')
ex.MainLoop()
输出窗口: