我如何处理PythonCard的mouseMiddleDrag事件?

2024-05-14 20:28:22 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

下面是Lib\site packages\PythonCard中的相关代码\事件.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?在


Tags: nameselfidreturnwxpython事件鼠标class
1条回答
网友
1楼 · 发布于 2024-05-14 20:28:22

结果表明,无论按下鼠标上的哪个按钮,mouseDrag事件都是活动的。要过滤鼠标中键,需要从MouseEvent调用middlesdown()方法。在

def on_mouseDrag( self, event ):       
    do_stuff()

    if event.MiddleIsDown():
        do_other_stuff()

相关问题 更多 >

    热门问题