如何在qt图形视图中定位工具提示



我想在用鼠标指针(无悬停)将线的端点拖动到QGraphicsItem时显示工具提示。

所以我有鼠标事件,我想调用QToolTip::showText(QPoint-pt,String-str),我想在相对于鼠标指针的正常位置显示工具提示。

但无论我在event.pos()上尝试什么(widget.mapToGlobal,item.mapToScene),工具提示都会显示在屏幕或图形视图的左上方,而不是鼠标。

也许我错过了一些简单的东西,但我真的很感激在这方面得到一些帮助。

widget = item.scene().views()[0] #there is only one view
p = event.pos()
pt = widget.mapToGlobal(QtCore.QPoint(p.x(), p.y()))
QtGui.QToolTip.showText(pt, text) 

QGraphicsSceneMouseEvent有另一个有用的方法-screenPos(),它返回鼠标光标在场景坐标中的位置。尝试使用它。例如:

QtGui.QToolTip.showText(event.screenPos(), text) 

最新更新