In this article we are going to learn to create a radio box in a frame. A radio box item is used to select one of number of mutually exclusive choices. It is displayed as a vertical column or horizontal row of labelled buttons.
In order to create radio box we will use Create() function in wx.RadioBox class of wxPython. Create() function takes different attributes of radio box as parameter.
Syntax:
wx.RadioBox.Create( parent, id=ID_ANY, label=””, pos=DefaultPosition,
size=DefaultSize, choices=[], majorDimension=0, style=RA_SPECIFY_COLS,
validator=DefaultValidator, name=RadioBoxNameStr )Parameters:
Parameter Input Type Description parent wx.Window Parent window. Should not be None. id wx.WindowID Control identifier. A value of -1 denotes a default value. label string Text Label. pos wx.Point Window position. size wx.Window Window size. choices list of strings Window style. majorDimension int Specifies the maximum number of rows (if style contains RA_SPECIFY_ROWS ) or columns (if style contains RA_SPECIFY_COLS ) for a two-dimensional radiobox. The default value of 0 means to use the number of items, i.e. number of elements in choices. style long An array of choices with which to initialize the radiobox. validator wx.Validator Window validator. name string Window name.
Code Example:
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() |
Output Window: