在wxPython中等效于HTML多个SELECT框

时间:2008-12-12 19:45:12

标签: python wxpython

我想在wxPython中创建一个ListBox,其语义与HTML中的多个select框相同。具体来说,我想要以下语义

      
  • 当用户单击列表中的条目时,所有其他条目将被取消选中,并且单击的条目将被选中。如果已经选择了该条目,则它将保持选中状态。
  •   
  • 当用户在单击某个条目时按住Ctrl键时,所有其他条目保持不变,但它会切换是否选中了单击的条目。
  •   
  • 当用户按住shift并单击某个条目时,该条目及其与最后一个单击条目之间的每个条目都将被选中。

在Java中,我通过在Swing中使用JList类并将选择模式设置为MULTIPLE_INTERVAL_SELECTED来实现此目的。我假设有一种方法可以使用wxPython工具包来实现这一点,但是我无法弄清楚如何让ListBoxListCtrl或任何其他类来做这个,而不是做大量的事件驱动编程我自己。

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找的是wxLB_EXTENDED列表框样式。创建style = wx.LB_EXTENDED时指定ListBox

然后,您可以使用GetSelections方法获取所选项目的列表。