1

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

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

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

4

2 回答 2

2

试试这个:

QToolTip::showText(val->globalPos(), "A tool tip");
于 2013-08-10T16:37:23.827 回答
1

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

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

其中小部件是您的 QWidget。

于 2013-08-10T16:35:52.497 回答