Gurjot Bhatti
Gurjot Bhatti

Reputation: 977

QTooltip display position

I've added a QTooltip on a mouseMoveEvent for my widget. This tooltip is being displayed way above my mouse cursor.

void myWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{

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

  QGraphicsScene::mouseMoveEvent(event);
}

How do I customize the tooltip's position w.r.t my cursor? I want to display this tooltip just below my cursor.

Upvotes: 2

Views: 4057

Answers (1)

Jablonski
Jablonski

Reputation: 18524

You should use screenPos instead of scenePos. For example:

void myWidget::mouseMoveEvent(QGraphicsSceneMouseEvent *event)
{

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

  QGraphicsScene::mouseMoveEvent(event);
}

Another approach is to use magic numbers such as minus 2 or minus 3 but I think that screenPos or globalPos(in simple mouseEvent) is better.

Upvotes: 1

Related Questions