在 Qt 中聚焦时显示 QLineEdit 的工具提示

发布于 2024-08-23 16:35:28 字数 196 浏览 13 评论 0原文

我发现我可以在 QLineEdit 上设置工具提示,如下所示:

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

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

提前致谢。

I found that I can set a tooltip on a QLineEdit as such:

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

However, I would like the tooltip to be displayed when that QLineEdit is focused.
How do I do that?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

染火枫林 2024-08-30 16:35:28

我能够通过子类化 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);
}

I was able to accomplish this by subclassing QLineEdit and overriding focusInEvent(...) as such:

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);
}
萌无敌 2024-08-30 16:35:28

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

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

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

这里还有一些关于焦点的非常简洁的信息:QFocusEvent 类参考

希望它能有所帮助!

I would suggest that you have a look at the following example : Tool Tips Example

You could show the tooltip when your LineEdit is getting the focus, maybe by connecting to this signal:

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

There is also some pretty neat informations about Focus here : QFocusEvent Class Reference

Hope it helps a bit !

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文