如何在没有选择的情况下启动wxPython radiobox?

时间:2012-09-24 17:14:18

标签: python wxpython radio-button wxwidgets

  

可能重复:
  How to remove initial wx.RadioBox selection?

我正在开发一个应用程序,它会向用户询问一系列问题,并在无线电控制台中为每个问题提供答案。在您回答当前问题之前,下一个问题不会出现,因为这可能取决于您的答案。

我的问题是,每个自动显示的问题都会默认选择第一个答案。我想从没有选择开始。

我怎样才能做到这一点?

以下是我目前用于其中一个问题的代码:

import wx

hardBackOptions = ['Paperback','Hardback'];


class OptionsPanel1(wx.Panel):
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
        mainpanel = wx.Panel(self)


        self.cover1 = wx.RadioBox(self, label="Hardback or Paperback?",  pos=(20, 140), choices=hardBackOptions,  majorDimension=1, style=wx.RA_SPECIFY_COLS )



app = wx.App(False)
frame = wx.Frame(None, title="Book Pricing & Options", size=(1000,900))
nb = wx.Notebook(frame)


nb.AddPage(OptionsPanel1(nb), "Book Options")
frame.Show()
app.MainLoop()

编辑:为了它的价值,我最终使用了wxChoice。在下拉列表前面有一个空白选项比我试图完成的更好,而不是单选按钮的空白选项。以下是我为感兴趣的人所做的改变:

import wx

hardBackOptions = ['','Paperback','Hardback'];


class OptionsPanel1(wx.Panel):
    def __init__(self, parent):
        wx.Panel.__init__(self, parent)
        mainpanel = wx.Panel(self)
        self.coverLabel = wx.StaticText(self, label="Paperback or Hardback?", pos=(20,115))
        self.cover = wx.Choice(self, pos=(20, 140), choices=hardBackOptions)



app = wx.App(False)
frame = wx.Frame(None, title="Book Pricing & Options", size=(1000,900))
nb = wx.Notebook(frame)


nb.AddPage(OptionsPanel1(nb), "Book Options")
frame.Show()
app.MainLoop()

1 个答案:

答案 0 :(得分:1)

我认为你不应该这样做。单选按钮组应始终选择一个值。我只想添加一个默认值,例如标记为“无”的默认值。