看如下代码示例:
bool SortingBox::event(QEvent *event) { if (event->type() == QEvent::ToolTip) { QHelpEvent *helpEvent = static_cast可以看到,是调用 QtoolTip::showText()在某个位置显示tooltip文本。 那么,如果想随时显示tooltip,该怎么做呢?其实十分简单:直接调用QToolTip::showText(),指定要显示的位置就行了。因为tooltip类的函数跟本就相当于全局函数而已。 呵呵,其实很简单,但从win32转过来的人,觉得真别扭。(event); int index = itemAt(helpEvent->pos()); if (index != -1) { QToolTip::showText(helpEvent->globalPos(), shapeItems[index].toolTip()); } else { QToolTip::hideText(); event->ignore(); } return true; } return QWidget::event(event); }