Python 如何检查PyQt6中的MouseButtonPress事件?
在PyQt5中,我们可以使用QEvent类验证事件发生,例如QEvent.MouseButtonPress。在PyQt6中,该语句不再有效。我检查了Python 如何检查PyQt6中的MouseButtonPress事件?,python,pyqt,pyqt6,Python,Pyqt,Pyqt6,在PyQt5中,我们可以使用QEvent类验证事件发生,例如QEvent.MouseButtonPress。在PyQt6中,该语句不再有效。我检查了PyQt6.QtCore.QEvent和PyQt6.QtGui.QMouseEvent类的成员,似乎无法找到包含MouseButtonPress事件值的正确枚举类 PyQt5示例我正在尝试转换为PyQt6 导入系统 从PyQt5.QtWidgets导入QApplication,QWidget 从PyQt5.QtCore导入QEvent,Qt 类App
PyQt6.QtCore.QEvent
和PyQt6.QtGui.QMouseEvent
类的成员,似乎无法找到包含MouseButtonPress事件值的正确枚举类
PyQt5示例我正在尝试转换为PyQt6
导入系统
从PyQt5.QtWidgets导入QApplication,QWidget
从PyQt5.QtCore导入QEvent,Qt
类AppDemo(QWidget):
定义初始化(自):
super()。\uuuu init\uuuuu()
自我调整大小(800400)
self.installEventFilter(self)
def事件过滤器(自身、QObject、事件):
如果event.type()==QEvent.MouseButtonPress:#>
PyQt6.QtCore.QEvent的成员
“类型”的“类型”,以及“类型”的“类型”,以及“类型”的“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU,“类型”的“类型”的“类型”,以及“类型”的“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU类类类类类类类类类类,”UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU,”,”,”,”,”路路路路路路路路路路路路路路路路路路路路路路路,,”,”,”,”,”,”,”,”,”,”,”","模块","新","减少","减少","减少"前","报告","设置属性","大小","str__“,”接受“,”克隆“,”忽略“,”isAccepted“,”isInputEvent“,”IsPointEvent“,”isSinglePointEvent“,”registerEventType“,”设置接受“,”自发“,”类型“]
--------------------------------------------------
PyQt6.QtCore.QMouseEvent的成员
“类型”的“类型”,以及“类型”的“类型”,以及“类型”的“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU,“类型”的“类型”的“类型”,以及“类型”的“UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU类类类类类类类类类类,”UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU,”,”,”,”,”路路路路路路路路路路路路路路路路路路路路路路路,,”,”,”,”,”,”,”,”,”,”,”","模块","新","减少","减少","减少"前","报告","设置属性","大小","str__“,”接受“,”所有点接受“,”按钮“,”按钮“,”克隆“,”设备“,”设备类型“,”exclusivePointGrabber“,”全局位置“,”忽略“,”isAccepted“,”isBeginEvent“,”isEndEvent“,”isInputEvent“,”IsPointEvent“,”isUpdateEvent“,”修饰符“,”点“,”pointById“,”点计数“,”pointerType“,”pointingDevice“,”点”,'position','registerEventType','scenePosition','setAccepted','setExclusivePointGrabber','自发性','timestamp','type']
PyQt6枚举使用python枚举的主要更改之一,因此您必须使用枚举名称作为中介,在您的情况下,MouseButtonPress属于类型enum,RightButton属于MouseButtons,因此您必须将其更改为:
def eventFilter(self, QObject, event):
if event.type() == QEvent.Type.MouseButtonPress:
if event.button() == Qt.MouseButtons.RightButton:
print("Right button clicked")
return True
def eventFilter(self、QObject、event):
如果event.type()==QEvent.type.mousebutton按下:
如果event.button()==Qt.MouseButtons.RightButton:
打印(“单击右键”)
return True
如果我打印QEvent的成员,则所有这些都可用。”“接受”、“克隆”、“忽略”、“isAccepted”、“isInputEvent”、“isPointerEvent”、“isSinglePointEvent”PS:在post.Oh中添加了其他详细信息。真不敢相信我错过了。非常感谢你。