【问题标题】:wxComboBox list of lists issuewxComboBox 列表列表问题
【发布时间】:2014-06-12 12:02:16
【问题描述】:

我在使用 wxPython 的 wxComboBox 列表时遇到问题。

使用以下列表:

    aps = [['AP0','AP1','AP2','AP3','AP4'],
           ['AP2'],
           ['AP1'],
           ['AP1','AP2','AP3'],
           ['AP1'],
           ['AP1','AP2'],
           ['AP1'],
           ['AP1'],
           ['AP1'],
           ['AP1'],
           ['AP1','AP2','AP3'],
           ['AP1_N','AP2_E','AP3_S','AP4_W'],
           ['AP1','AP2','AP3']]

    apOps = aps[11][3]
    print apOps

    self.apInput = wx.ComboBox(panel1, -1, choices = apOps)

使用此示例打印命令按预期输出“AP4_W”。但是 ComboBox 将每个字符拆分为其选项列表中的一个项目。

如果我只使用列表中的一项,例如

apOps = aps[0]

我得到了整个第一个列表作为预期和想要的选项。 我还可以让其他一项列表正确显示,例如

apOps = aps[1]

正确打印并在 ComboBox 中显示为“AP2”

我不确定是否应该以不同的方式调用 ComboBox 的项目,或者我到底做错了什么。

一如既往地非常感谢您的帮助!

【问题讨论】:

    标签: python-2.7 combobox wxpython


    【解决方案1】:

    wxPython 正在获取您的字符串并将其转换为列表。你可以自己做同样的事情:

    print list(apOps)
    

    如果您不希望这种情况发生,那么您应该将创建 wx.ComboBox 的代码更改为如下所示:

    self.apInput = wx.ComboBox(self, choices=[apOps])
    

    这将创建一个仅包含字符串的单项列表。如果您希望字符串也成为默认选择,您可以这样做:

    self.apInput = wx.ComboBox(self, value=apOps, choices=[apOps])
    

    希望有帮助!

    【讨论】:

    • 谢谢!那肯定有帮助。不同的打印示例使一切都得到了点击。
    • 没问题。乐于助人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 2011-12-16
    • 2021-12-29
    • 2011-03-04
    • 2016-05-04
    • 2011-08-25
    相关资源
    最近更新 更多