当前位置: 代码迷 >> QT开发 >> 关于ToolTip解决思路
  详细解决方案

关于ToolTip解决思路

热度:74   发布时间:2016-04-25 03:20:16.0
关于ToolTip
我想使用tooltip显示当前鼠标单击的点的坐标。

尝试1.我把他加在mouseReleasrEvent里面,但是鼠标释放之后的很短的时间里面,他就消失了!不知道能不能延长这个显示
            的时间;
尝试2.我把他直接放在Event里面,代码如下:
bool plot::event(QEvent *event)
{
if (event->type() == QEvent::ToolTip) 
{
QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);
   
QString text;
QString x=QString::number(helpEvent->globalPos().x()-this->pos().x());
QString y=QString::number(helpEvent->globalPos().y()-this->pos().x());

text.append(QString("X:"));
text.append(x);
text.append('\n');
text.append(QString("Y:"));
text.append(y);

QToolTip::showText(helpEvent->globalPos(),QString(text));
}
return QWidget::event(event);

}


但是这样的后果是只要鼠标一停下来,就显示那个tooltip。如果我当前不想显示的话,他也会显示。造成不必要的浪费。

我现在想要实现的效果是:
      当鼠标按下来的时候,tooltip出现,且一直显示直到下一次的单击鼠标。
请指导如何实现,谢谢~
------解决方案--------------------
你在event函数中加一个标志位,鼠标按下时,改变那个标志位不就可以了吗?