0

我正在使用 wx.Python 在 MacOS 下开发 GUI。

让我抓狂的小部件是一个简单的 ListBox。这是实例

self.values = wx.ListBox(self, wx.ID_ANY, style = wx.LB_MULTIPLE|wx.LB_NEEDED_SB)
self.Bind(wx.EVT_LISTBOX, self.on_add_selection_values, self.values)

问题是,当我执行多行选择(按住 shift 按钮时单击一次)时,它会生成多次 EVT_LISTBOX。

关于如何解决这个问题的想法?

问候

4

1 回答 1

1
  Hover over first item
  Depress left mouse button
  Drag across all itemms
  Release mouse button

这是您选择项目的方式吗?(你提到 MAC,它似乎对如何使用鼠标有自己的奇怪想法)

如果是这样,我建议:

Ignore the wxEVT_COMMAND_LISTBOX_SELECTED event.
Handle the mouse button up event wxEVT_LEFT_UP by calling GetSelections()
于 2013-01-18T16:11:47.840 回答