gpt4 book ai didi

python - 如何处理 PythonCard 中的 mouseMiddleDrag 事件?

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:38 24 4
gpt4 key购买 nike

我想在用 Python 编写并使用 PythonCard/wxPython 作为 GUI 的应用程序中使用鼠标中键拖动图像。

最新版本的PythonCard仅实现了“鼠标左键拖动”事件,我正在尝试修改PythonCard以处理“鼠标中键拖动”事件。

以下是 Lib\site-packages\PythonCard\event.py 中的相关代码:

class MouseMoveEvent(MouseEvent, InsteadOfTypeEvent):
name = 'mouseMove'
binding = wx.EVT_MOTION
id = wx.wxEVT_MOTION

def translateEventType(self, aWxEvent):
if aWxEvent.Dragging():
return MouseDragEvent.id
else:
return self.id

class MouseDragEvent(MouseMoveEvent):
name = 'mouseDrag'
id = wx.NewEventType()

class MouseMiddleDragEvent(MouseMoveEvent): #My addition
name = 'mouseMiddleDrag'
id = wx.NewEventType()

我的添加不起作用。我能做什么呢?是否有特定的 wxPython 方法可以用来绕过 PythonCard?

最佳答案

事实证明,无论按下鼠标上的哪个按钮,mouseDrag 事件都会处于事件状态。要过滤鼠标中键,您需要从 MouseEvent 调用 MiddleIsDown() 方法。

def on_mouseDrag( self, event ):       
do_stuff()

if event.MiddleIsDown():
do_other_stuff()

关于python - 如何处理 PythonCard 中的 mouseMiddleDrag 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/916435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com