QT鼠标事件中的QMouseEvent :e
def mousePressEvent(self, e):if e.button() == Qt.MouseButton.LeftButton:# handle the left-button press in hereself.label.setText("mousePressEvent LEFT"
代码中的e是 QMouseEvent 的一个实例(对象)。
QMouseEvent
是一个类(Class)e
是这个类的一个实例(Instance)或对象(Object)
def mousePressEvent(self, e):
在说:"当发生鼠标按下事件时,我会收到一个 QMouseEvent 类型的对象,我把它叫做 e
谁创建了 e
并传入函数?
创建 e
并调用你的函数的是 Qt 框架本身,而不是代码。
总结
QMouseEvent 和
e
的关系:e
是 QMouseEvent 类的一个具体实例对象谁创建了
e
:Qt 框架在检测到鼠标事件时自动创建谁调用了你的函数:Qt 框架创建好
e
后,调用你重写的事件处理方法,并将e
作为参数传入
不需要自己创建 e
,也不需要自己调用 mousePressEvent
方法。你只需要"告诉" Qt:"当发生这种事件时,如果你调用我定义的方法,我会这样处理它"。