将wxListBox添加到框架时遇到问题

时间:2014-10-17 09:50:00

标签: user-interface wxpython wxwidgets

我正在尝试将wxListBox添加到我的框架中,但我遇到了一些困难。

这是我的示例代码

wx.Frame.__init__(self,parent,title=title,size=(750,690), style=wx.MINIMIZE_BOX|wx.SYSTEM_MENU|
              wx.CAPTION|wx.CLOSE_BOX|wx.CLIP_CHILDREN)

    splitter = wx.SplitterWindow(self)
    panel1 = panel1(splitter)
    panel2 = wx.Panel(splitter,style=wx.SUNKEN_BORDER)
    splitter.SplitHorizontally(panel1,panel2,470)
    listBox = wx.ListBox(splitter, -1, (20, 20), (80, 120), 0, wx.LB_SINGLE)

我收到了这个错误,
      控件 .ListBox_swiginit(self, controls .new_ListBox(* args,** kwargs)) TypeError:期望的字符串序列。

1 个答案:

答案 0 :(得分:0)

你的专栏:

listBox = wx.ListBox(splitter, -1, (20, 20), (80, 120), 0, wx.LB_SINGLE)

应该是这样的:

listBox = wx.ListBox(panel1, -1, (20, 20), (80, 120), [a list of choices], wx.LB_SINGLE)

不是将它变为分割器,而是使用其中一个面板,或者如果你想在分割器之外使用它,那么就使用“自我”。这是你的框架。

你是硬编码大小和位置,而我建议使用sizer。见例如http://wiki.wxpython.org/UsingSizers或进行谷歌搜索。