单选按钮正在组合成一个大组

时间:2013-10-18 20:55:34

标签: wxpython wxwidgets

我正在使用wxPython构建一个“首选项”窗口,其中包含许多单选按钮。根据{{​​3}} - (wxPython文档省略了相关信息) - 我应该能够为每个组中的第一个单选按钮指定style=wx.RB_GROUP。但是,相反,所有单选按钮都组合在一起,因此单击其中一个将取消选择其他所有,而它应该只取消选择该组中的其他单选按钮。

使用以下简单示例演示了此行为:

import wx

class RadioTest(wx.Frame):
    def __init__(self, parent):
        wx.Frame.__init__(self, parent)

        sizer = wx.BoxSizer(wx.VERTICAL)

        self.button_a_1 = wx.RadioButton(self, label='Group A, button 1',
                style=wx.RB_GROUP)
        self.button_a_2 = wx.RadioButton(self, label='Group A, button 2')
        self.button_a_3 = wx.RadioButton(self, label='Group A, button 3')

        sizer.Add(self.button_a_1)
        sizer.Add(self.button_a_2)
        sizer.Add(self.button_a_3)

        self.button_b_1 = wx.RadioButton(self, label='Group B, button 1',
                style=wx.RB_GROUP)
        self.button_b_2 = wx.RadioButton(self, label='Group B, button 2')

        sizer.Add(self.button_b_1)
        sizer.Add(self.button_b_2)

        self.SetSizer(sizer)

app = wx.App(False)

radio_test = RadioTest(None)
radio_test.Show()

app.MainLoop()

应该有两个独立的单选按钮组,但最终只有一个。我在OS X 10.8.5上通过Homebrew使用wxPython 2.9.4.0。我在这里做错了吗?

2 个答案:

答案 0 :(得分:2)

您发布的代码为我工作。我把它作为答案主要是因为我可以发布一张图片......你可以看到,我可以选择两个单选按钮,前三个中的任何一个,以及最后两个中的任何一个。

enter image description here

您确定发布的代码是您运行的代码吗?我在OSX 10.6.8上使用'2.8.12.1'(但我怀疑这对于那些基本的东西有所不同)。

答案 1 :(得分:0)

将WX从2.9.4.0升级到2.9.5.0修复此问题。这些版本号来自Homebrew并且令人尴尬,我不确定它们是指wxPython还是wxWidgets。无论哪种方式,the wxPython changelogthe wxWidgets changelog中似乎都没有任何相关内容,因此对我来说,为什么要升级修复我的问题是个谜。