QTooltip显示位置

时间:2014-11-30 10:25:56

标签: qt tooltip mouseevent

我在QTooltip为我的小部件添加了mouseMoveEvent。此工具提示显示在鼠标光标上方。

void myWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{

  QToolTip::showText(event->scenePos().toPoint(),
                       QString::number(event->scenePos().x()) + ", "
                       + QString::number(event->scenePos().y()));

  QGraphicsScene::mouseMoveEvent(event);
}

如何在光标中自定义工具提示的位置?我想在光标下方显示此工具提示。

1 个答案:

答案 0 :(得分:1)

您应该使用screenPos代替scenePos。例如:

void myWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{

  QToolTip::showText(event->screenPos().toPoint(),
                       QString::number(event->scenePos().x()) + ", "
                       + QString::number(event->scenePos().y()));

  QGraphicsScene::mouseMoveEvent(event);
}

另一种方法是使用诸如减2或减3的幻数,但我认为screenPosglobalPos(简单mouseEvent)更好。