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: