在Qt焦点上显示QLineEdit的工具提示

时间:2010-03-02 18:20:18

标签: qt focus tooltip qlineedit

我发现我可以在QLineEdit上设置工具提示:

equation = new QLineEdit();
equation->setToolTip("Example: a*b+c+~c");

但是,我希望在关注QLineEdit时显示工具提示。 我该怎么做?

提前致谢。

2 个答案:

答案 0 :(得分:1)

我能够通过继承QLineEdit并重写focusInEvent(...)来实现这一目标:

void EquationEditor::focusInEvent(QFocusEvent *e)
{
    QHelpEvent *event = new QHelpEvent(QEvent::ToolTip,
                                       QPoint(this->pos().x(), this->pos().y()),
                                       QPoint(QCursor::pos().x(), QCursor::pos().y()));  

    QApplication::postEvent(this, event);

    QLineEdit::focusInEvent(e);
}

答案 1 :(得分:0)

我建议您查看以下示例:Tool Tips Example

您可以在LineEdit获得焦点时显示工具提示,也可以通过连接此信号来显示:

void QApplication::focusChanged ( QWidget * old, QWidget * now )   [signal]

这里还有关于Focus的一些非常简洁的信息:QFocusEvent Class Reference

希望它有所帮助!