2010-09-11 1 views
2

У меня есть следующий код:Как удалить исходный выбор wx.RadioBox?

myList =['a','b'] 
rb=wx.RadioBox(self.panel, -1, "Options :", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS) 

Когда он делает первый раз, когда я вижу, что выбор был сделан, как я могу изменить код, когда radibox оказывается первый раз есть варианты не были выбраны.

ответ

4

Использование radio box подразумевает, что «существует список из двух или более вариантов, которые являются взаимоисключающими, и пользователь должен выбрать только один выбор».

Радиокассета никогда не существует в состоянии без выбора. Если это не так, тогда не используйте радиокассету.

Если вы не хотите, чтобы по умолчанию были выбраны какие-либо параметры радиокамера, добавьте еще одну опцию для «N/A» или «No choice».

2

Если вам действительно нужно это сделать, то, вероятно, единственный способ - создать свой собственный RadioBox. A RadioBox можно легко построить от Panel, StaticBox, StaticBoxSizer и, конечно, RadioButtons.

В поле __init__ для вашего RadioBox используйте метод RadioButtons SetValue(), чтобы установить начальное значение RadioButtons в значение False.

Взгляните на демо-версию RadioButton в демонстрационных версиях wxpython Demos, там должно быть достаточно, чтобы вы начали в правильном направлении.

0

Вызовите метод radiobox SetSelection со значением параметра -1

0

Если вы просто хотите, первоначальный выбор невидим, вы можете попробовать с ShowItem (пункт, шоу = True)

пример здесь:

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)