【发布时间】:2014-03-13 11:41:22
【问题描述】:
我有以下代码:
myList =['a','b']
rb=wx.RadioBox(self.panel, -1, "Options :", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS)
当它第一次呈现时,我看到已经做出了选择,我该如何更改在第一次呈现此 radibox 时没有选择任何选项的代码。
【问题讨论】:
我有以下代码:
myList =['a','b']
rb=wx.RadioBox(self.panel, -1, "Options :", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS)
当它第一次呈现时,我看到已经做出了选择,我该如何更改在第一次呈现此 radibox 时没有选择任何选项的代码。
【问题讨论】:
radio box 的使用意味着,“有一个包含两个或多个互斥选项的列表,用户必须只选择一个选项。”
单选框永远不会以没有选择的状态存在。如果不是这种情况,请不要使用单选框。
如果您不希望将任何当前单选框选项选为默认选项, 为“N/A”或“No choice”添加另一个选项。
【讨论】:
如果您真的需要这样做,那么可能唯一的方法就是创建您自己的RadioBox。 RadioBox 可以很容易地从 Panel、StaticBox、StaticBoxSizer 和 RadioButtons 构建。
在 RadioBox 的 __init__ 中,使用 RadioButtons SetValue() 方法将 RadioButtons 的初始值设置为 False。
看看 wxpython Demos 中的RadioButton 演示,那里应该有足够的内容让您朝着正确的方向开始。
【讨论】:
如果你只是想让初始选择不可见,你可以试试 ShowItem(item, show=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)
【讨论】:
调用radiobox的SetSelection方法,参数值为-1
【讨论】: