In this article, we are going to learn how can we create a Radio Box with items in horizontal and vertical direction orientations. In order to do that we are going to use the styles parameter while creating Radio Box.
There are two styles in Radio Box.
- wx.RA_SPECIFY_ROWS: The major dimension parameter refers to the maximum number of rows.
- wx.RA_SPECIFY_COLS: The major dimension parameter refers to the maximum number of columns.
Syntax:
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)
- To set direction vertical we will use wx.RA_SPECIFY_ROWS
- To set number of items per row we will use majorDimension parameter.
- To set direction horizontal we will use wx.RA_SPECIFY_COLS
- To set number of items per columns we will use majorDimension parameter.
Code Example:
Python3
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() |
Output Window: