【发布时间】:2012-09-16 04:35:53
【问题描述】:
我正在开发一个应用程序,该应用程序向用户提出一系列问题,并在单选框中为每个问题提供答案。在您回答当前问题之前,下一个问题不会出现,因为它可能取决于您的回答。
我的问题是每个自动显示的问题都默认选择第一个答案。我希望它从没有选择任何内容开始。
我怎样才能做到这一点?
这是我目前用于其中一个问题的代码:
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()
【问题讨论】:
-
请发布一个简短的代码示例来演示您的示例...
-
@Joran:抱歉,最初没有包含它,因为我认为对于比我有更多 wxwidgets 经验的人来说,这将是一个相当简单的问题。不过,我现在已经为我的一个问题添加了代码。
-
这当然不是很困难..我希望能够复制/粘贴点击运行然后解决你的问题......所以请发布一个完整的例子:)(包括 wx.App 等)
-
啊,我希望得到更多解释,而不是让您修复我的代码 - 所以现在您请求示例的原因更有意义。谢谢你的耐心!我继续更新了代码示例,这应该是您正在寻找的更多内容。根据您提供的链接,看起来唯一的方法是不实际使用 wx.RadioBox 而是使用 RadioButton ...感谢您的帮助 - 不知何故,当我搜索时我无法找到它这个网站。
标签: python wxpython radio-button wxwidgets