2008-12-12 19 views
3

我想在wxPython中創建一個ListBox,其語義與HTML中的多個select框相同。具體而言,我想要以下語義wxPython中多個HTML選擇框的等效代碼

  • 當用戶單擊列表中的一個條目時,所有其他條目將被取消選中,並且單擊的條目將被選中。如果條目已被選中,則保持選中狀態。
  • 當用戶在按住Ctrl鍵的同時單擊某個條目時,所有其他條目保持不變,但是它會切換是否選中所單擊的條目。
  • 當用戶按住Shift鍵並點擊一個條目時,該條目及其與最後點擊的條目之間的每個條目都被選中。

在Java中,我通過在Swing中使用JList類並將選擇模式設置爲MULTIPLE_INTERVAL_SELECTED來獲得此選項。我假設有一種方法可以用wxPython工具包來做到這一點,但我無法弄清楚如何讓ListBoxListCtrl或任何其他類來做到這一點,而不是自己做大量的事件驅動編程。

回答

3

我想你要找的是wxLB_EXTENDED列表框樣式。在創建ListBox時指定style = wx.LB_EXTENDED

然後,您可以使用GetSelections方法獲取所選項目的列表。