【发布时间】:2020-03-27 15:04:27
【问题描述】:
我想在单击QGraphicsView 小部件中的某个点时报告鼠标位置。
class App(QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(App, self).__init__(parent)
self.setupUi(self)
self.graphicsView.viewport().installEventFilter(self)
self.graphicsView_2.viewport().installEventFilter(self)
def eventFilter(self, a0: 'QObject', a1: 'QEvent') -> bool:
if a0 == self.graphicsView:
if a1.type() == QtCore.QEvent.MouseButtonPress:
mousePosition = a1.pos()
print(mousePosition.x(), 261 - mousePosition.y())
return True
return False
elif a0 == self.graphicsView_2:
if a1.type() == QtCore.QEvent.MouseButtonPress:
mousePosition = a1.pos()
print(mousePosition.x(), 261 - mousePosition.y())
return True
return False
return False
我只希望它在我按下我列出的两个QGraphicsView 小部件之一时报告鼠标按钮。但是,使用此当前代码,任何时候都不会触发任何内容。我假设a0 永远不会等于我想与之比较的QGraphicsView 小部件,所以我不确定如何在需要时触发此触发器。
【问题讨论】:
标签: python pyqt pyqt5 qgraphicsview