如何覆盖所有widgit工具提示,让它们显示在一个QTextBrowser小部件中?

时间:2016-06-20 14:39:39

标签: qt

我是Qt的新手,因此不知道所有内部和外部的内容,因此当您将鼠标悬停在包含工具提示的复选框或其他字段时,我们想知道如何获取该工具提示文本并将其应用/显示在QTextBrowser小部件中

感谢您对此问题的任何帮助。

2 个答案:

答案 0 :(得分:1)

每个QWidget都有一个“toolTip”属性。要获得它,您只需致电:

QString toolTip = desiredWidget->toolTip();

另外,如您所见,要将工具提示作为字符串,您不必等到鼠标悬停在所需的小部件上。之后,您可以根据需要使用此工具提示(例如,如您在问题中所写的那样在QTextBrowser中显示它)。

答案 1 :(得分:0)

如果您尝试动态显示光标下小部件的工具提示,请尝试跟踪鼠标移动。

class MyWidget: public  SuperclassWidget
{...};

void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
    const QWidget *widget = childAt(event->pos());
    if (widget != NULL)
        _textBrowser->setHtml(widget->toolTip());

    SuperclassWidget::mouseMoveEvent(event);
}

可能有更聪明的事情可以防止过于频繁地设置相同的工具提示,例如:记住最后一个小部件。