3

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

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

但是,我希望在聚焦 QLineEdit 时显示工具提示。我怎么做?

提前致谢。

4

2 回答 2

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);
}
于 2010-03-09T18:19:58.913 回答
0

我建议您看一下以下示例:工具提示示例

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

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

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

希望它有点帮助!

于 2010-03-02T18:40:51.887 回答