Open In App

wxPython – Create Radio Box with Items in different orientation

Last Updated : 03 Aug, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

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: 

 



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads