需要比wxPython wx.ComboBox控件更多的东西

时间:2014-01-22 11:53:15

标签: wxpython

我需要一个具有VBA组合框功能的组合框控件。

我似乎无法挤出wx.ComboBox有两件事:

  • 让它处理多个列 - 取决于所选项目,我需要为该项目提供更多数据以进一步传递到不同的功能,就像我可以使用字典和所选的复选框项目一样对于其他值的关键,我仍然需要在下拉列表中显示多个值,将其视为第1列持有一些员工ID,第2列持有他的名字等。在VBA列中也可以有特定的宽度,因此可以“隐藏“某些”仅用于开发人员“项目列表中的值。

  • 一种调整下拉菜单大小的方法 - 我需要多种形式的这些,在“下拉”时显示不同数量的可见项目(实际上是下拉菜单高度),还根据提到的调整下拉宽度列,在VBA中,这些列的参数类似于ListWidth,ColumnCount,ColumnWidths。

我需要的一个直观例子

vba combobox

  1. 如果我错过了如何让wx.ComboBox做我想做的事,请赐教。
  2. 如果wx.ComboBox无法削减它,也许我还有其他一些wx控件 不知道,这可能会让所有这一切发生在我身上?
  3. 如果没有,我想我已经坚持扩展一些wx控制,添加我需要的东西?我不太擅长OOP但是我觉得总是有的 成为第一个,如果这是我唯一的举动,那么我至少会喜欢一些 关于哪种控制最好用作基础的建议。如果发生这种情况我会 可能在稍后发布我糟糕的代码并寻求更多帮助。
  4. 嘿,也许我真正留下的只是根据这篇文章完全控制自己? http://wiki.wxpython.org/CreatingCustomControls
  5. 或者也许那里有类似的东西,由某人制作,我可以使用?我偶然发现了这个例子: http://forums.wxwidgets.org/viewtopic.php?f=20&t=8561 但那是C ++,我遗憾地知道,我可能会更快地使用上述步骤之一而不是将其移植到Python。除此之外,我认为步骤1-4对我来说越来越困难,所以请告知你将如何解决这个问题。

    一如既往地欢迎任何帮助。干杯

1 个答案:

答案 0 :(得分:1)

ComboBox包装了本机小部件,因此它的功能非常有限。你将无法完成你想要的大部分工作。但是,它允许您通过其Append方法为其中的每个项目存储对象。您可以在以下教程中阅读有关其工作原理的所有内容:

您可以使用ComboCtrl获得类似的功能,ComboCtrl是一个允许自定义弹出窗口的通用组合框。尽管wxPython演示中的示例几乎正是您正在寻找的样本,但您可以修改弹出窗口以执行您想要的操作。我看到的唯一缺失的部分是该演示没有可调整大小的弹出窗口。