如何取消初始的wx.RadioBox选择?
我有以下代码:
myList =['a','b']
rb=wx.RadioBox(self.panel, -1, "Options :", (0, 0), wx.DefaultSize,myList, 2, wx.RA_SPECIFY_COLS)
当这个代码第一次运行时,我看到已经选择了一个选项。我想知道怎么改代码,让这个单选框第一次显示的时候没有任何选项被选中。
4 个回答
1
如果你只是想让初始选择不显示出来,可以试试用 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)
2
如果你真的需要这样做,那可能唯一的办法就是自己创建一个 RadioBox
。一个 RadioBox
可以很简单地通过一个 Panel
、StaticBox
、StaticBoxSizer
,当然还有 RadioButtons
来构建。
在你的 RadioBox
的 __init__
方法中,使用 RadioButtons
的 SetValue()
方法来设置 RadioButtons
的初始值为 False。
可以看看 wxpython 示例中的 RadioButton
演示,里面应该有足够的内容帮助你朝着正确的方向开始。
4
使用单选框的意思是,“这里有两个或更多的选项,它们是互相排斥的,用户必须选择其中一个。”
单选框永远不会处于没有选择的状态。如果出现这种情况,那就不要使用单选框。
如果你不想让当前的单选框选项中有一个默认被选中,可以添加一个“无”或“没有选择”的选项。