How to remove initial wx.RadioBox selection?

后端 未结 4 386
有刺的猬
有刺的猬 2021-01-22 08:13

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)


        
相关标签:
4条回答
  • 2021-01-22 08:48

    Call the the radiobox SetSelection method with a parameter value of -1

    0 讨论(0)
  • 2021-01-22 08:49

    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".

    0 讨论(0)
  • 2021-01-22 09:06

    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.

    0 讨论(0)
  • 2021-01-22 09:10

    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)
    
    0 讨论(0)
提交回复
热议问题