PyQt5中QGraphicsScene获取mousePressEvent事件鼠标位置全都为0.0
问题描述
PyQt5中,想在QGraphicsScene的mousePressEvent中获取鼠标位置,无论点哪,显示的都是[0.0,0.0]
问题出现的环境背景及自己尝试过哪些方法
网上没找到类似的问题
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
#这是继承QGraphicsScene的自定义类
class CARscene(QtWidgets.QGraphicsScene):
def __init__(self, parent=None):
super(CARscene, self).__init__(parent)
def mousePressEvent(self, QMouseEvent):
#这行代码是期望显示坐标,奈何永远都是[0.0, 0.0]
print([QMouseEvent.pos().x(), QMouseEvent.pos().y()])
#这是主窗口的类,继承自QtDesigner设计的界面
class CDataMingQtUi(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super(CDataMingQtUi, self).__init__()
self.setupUi(self)
#CARgraphview 是一个QGraphicView的实例
self.figure = plt.figure()
self.canvas = FigureCanvas(self.figure)
self.graph_sence = CARscene()
self.graph_sence.addWidget(self.canvas)
self.CARgraphview.setScene(self.graph_sence)
你期待的结果是什么?实际看到的错误信息又是什么?
期待显示鼠标单击的坐标
实际显示的确是[0.0, 0.0],无论点哪都是这个值
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
改成用scenePos
一,引入QCursor
from PyQt5.Qt import QCursor
二.绑定本类的eventFilter
self.pb_heading.installEventFilter(self)
三,在qevent.pos()处弹窗,即鼠标所在位置
def eventFilter(self, qobject, qevent):