QToolTip显示在错误的坐标中

时间:2013-08-10 16:10:29

标签: c++ qt

我目前有一个QCustomPlot,我想在鼠标悬停组件上显示QtoolTip。这是我正在使用的。这是我的插槽。

void CustomPlot::DisplayPlotValue(QMouseEvent* val)
{
     QToolTip::showText(val->pos(), "A tool tip");
}

然而,工具提示出现在错误的坐标中(其实际上是具有我的组件的形式)。关于我可能做错什么的任何建议?

2 个答案:

答案 0 :(得分:2)

请改为尝试:

QToolTip::showText(val->globalPos(), "A tool tip");

答案 1 :(得分:1)

使用QWidget :: mapToGlobal将相对于窗口小部件的坐标映射到相对于整个屏幕的全局坐标:

QToolTip::showText(widget->mapToGlobal(val->pos()), "A tool tip");

其中widget是你的QWidget。