I have the following code :
myList =[\'a\',\'b\']
rb=wx.RadioBox(self.panel, -1, \"Options :\", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS)
Call the the radiobox SetSelection method with a parameter value of -1
The use of a radio box implies, "there is a list of two or more options that are mutually exclusive and the user must select exactly one choice."
The radio box never exists in a state with no choice made. If that's not the case, then don't use a radio box.
If you don't want any of the current radio box options to be selected as default, add another option for "N/A" or "No choice".
If your really need to do this then probably the only way is to create your own RadioBox
. A RadioBox
can easily built from a Panel
, StaticBox
, StaticBoxSizer
and of course RadioButtons
.
In the __init__
for your RadioBox use the RadioButtons SetValue()
method to set the initial value of the RadioButtons
to False.
Take a look at RadioButton
demo in the wxpython Demos, there should be enough there to get you started in the right direction.
If you just want initial selection invisible, you can have a try with ShowItem(item, show=True)
example here:
myList =['','a','b']
rb=wx.RadioBox(self.panel, -1, "Options :", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS)
rb.ShowItem(0, show=False)