如何在qt graphicsview中定位工具提示

时间:2015-04-03 19:33:24

标签: qt pyside

我希望在使用鼠标指针(无悬停)将线的端点拖动到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) 

1 个答案:

答案 0 :(得分:2)

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

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