wxPython – 创建具有不同方向项目的单选框
在这篇文章中,我们将学习如何创建一个具有水平和垂直方向的项目的单选框。为了做到这一点,我们将在创建单选框时使用样式参数。
在单选框中有两种样式。
- wx.RA_SPECIFY_ROWS: 主要尺寸参数指的是最大行数。
- wx.RA_SPECIFY_COLS: 主要维度参数指的是最大列数。
语法:
wx.RadioBox.RadioBox(parent, id=ID_ANY, label=””, pos=DefaultPosition,
size=DefaultSize, choices=[], majorDimension=0, style=RA_SPECIFY_ROWS,
class=”noIdeBtnDiv”,
validator=DefaultValidator, name=RadioBoxNameStr)
- 要设置垂直方向,我们将使用wx.RA_SPECIFY_ROWS。
- 要设置每行的项目数,我们将使用majorDimension参数。
- 要设置水平方向,我们将使用wx.RA_SPECIFY_COLS。
- 要设置每列的项目数,我们将使用mainDimension参数。
代码示例 。
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
hlist = ['Item One', 'Item Two']
vlist =['Item One', 'Item Two']
# create radio box with items in horizontal orientation
self.rbox = wx.RadioBox(pnl, label ='RadioBox', pos =(10, 10), choices = hlist,
majorDimension = 0, style = wx.RA_SPECIFY_ROWS)
# create radio box with items in vertical orientation
self.rbox = wx.RadioBox(pnl, label ='RadioBox', pos =(240, 10), choices = vlist,
majorDimension = 0, style = wx.RA_SPECIFY_COLS)
# 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()
输出窗口 。