Reputation: 977
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
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