Qt Tooltip详解

来源:互联网 发布:mac 硬盘安装助手 编辑:程序博客网 时间:2024/06/06 02:17
动态tooltip。也就是一个widget上的tooltip是变化的。此时需要重写QWidget::event()函数,在里面判断事件类型,如果是QEvent::ToolTip,则控制显示的文本的内容,即可实现动态tooltip。

看如下代码示例:

[cpp] view plain copy
  1. bool SortingBox::event(QEvent *event)  
  2.  {  
  3.      if (event->type() == QEvent::ToolTip) 
  4.     {  
  5.          QHelpEvent *helpEvent = static_cast<QHelpEvent *>(event);  
  6.          int index = itemAt(helpEvent->pos());  
  7.          if (index != -1) 
  8.          {  
  9.              QToolTip::showText(helpEvent->globalPos(), shapeItems[index].toolTip());  
  10.          } 
  11.          else 
  12.          {  
  13.              QToolTip::hideText();  
  14.              event->ignore();  
  15.          }  
  16.          return true;  
  17.      }  
  18.      return QWidget::event(event);  
  19.  }  

可以看到,是调用 QtoolTip::showText()在某个位置显示tooltip文本。

原创粉丝点击