有没有办法在wxpython的拖放过程中捕获修饰符?在几篇文章中提到它作为旁注(The OLE way of doing drag&drop in wxPython,wx.TreeCtrl drag and drop, copy and move),但这些都没有提及如何捕捉这些修饰语。
我知道CmdDown(),但这需要一个EVT_CHAR。有没有办法在拖放(到画布)期间强制EVT_CHAR?
在一天结束时,我可以使用一些全局钩子,但我知道在类似的包中有等价物允许你捕捉修饰符。
感谢任何帮助。
答案 0 :(得分:1)
对我有用的是使用GetMouseState(),其中包含用于修饰符的布尔值。我一直在尝试使用GetKeyState(),但我需要传入一个密钥代码。回想起来,我想我可以传入任何键,然后只检查修饰符,因为那是我真正想要的。无论如何 - 它现在有效。
def OnDropFiles(self, x, y, filenames):
mouse = wx.GetMouseState()
if mouse.CmdDown():
self.frame.paths += filenames
else:
self.frame.paths = filenames
self.frame.draw_figure()