【问题标题】:How to remove initial wx.RadioBox selection?如何删除初始 wx.RadioBox 选择?
【发布时间】: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 时没有选择任何选项的代码。

【问题讨论】:

    标签: python wxpython wxwidgets


    【解决方案1】:

    radio box 的使用意味着,“有一个包含两个或多个互斥选项的列表,用户必须只选择一个选项。”

    单选框永远不会以没有选择的状态存在。如果不是这种情况,请不要使用单选框。

    如果您不希望将任何当前单选框选项选为默认选项, 为“N/A”或“No choice”添加另一个选项。

    【讨论】:

      【解决方案2】:

      如果您真的需要这样做,那么可能唯一的方法就是创建您自己的RadioBoxRadioBox 可以很容易地从 PanelStaticBoxStaticBoxSizerRadioButtons 构建。

      在 RadioBox 的 __init__ 中,使用 RadioButtons SetValue() 方法将 RadioButtons 的初始值设置为 False。

      看看 wxpython Demos 中的RadioButton 演示,那里应该有足够的内容让您朝着正确的方向开始。

      【讨论】:

        【解决方案3】:

        如果你只是想让初始选择不可见,你可以试试 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)
        

        【讨论】:

          【解决方案4】:

          调用radiobox的SetSelection方法,参数值为-1

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-10-05
            • 1970-01-01
            • 2016-07-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多