我有一个 Vertex 对象列表,每个对象都有自己的标签和 ID。我如何使用这个列表作为 wxPython ComboBox 的模型,以便当用户选择一个选项时,我可以立即检索顶点 id?
看来 ComboBox 只接受字符串作为模型。我无法创建标签到 id 对的字典,因为存在重复的标签。
我注意到一个 ComboCtrl 类,我可以将其子类化以创建专门的组合框,但我觉得有一个更简单的解决方案。
今天早些时候,这个主题出现在 wxPython IRC 频道上,但是是关于 ListBox 的。幸运的是,这两个小部件都继承自 wx.ItemContainer,因此您可以执行以下操作:
for item in ObjList:
self.myCboBox.append(item.label, item)
然后在事件处理程序中,您将执行以下操作:
itemObject = self.myCboBox.GetClientData(self.myCboBox.GetSelection())
itemID = itemObject.id
那应该有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)