如何在Qt上实现提示对话框

如何在Qt上实现提示对话框,qt,Qt,我实现了一个包含3列的QTableWidget 第一列和第二列是一个组合框 第三列是QLineEdit 我想显示一个对话框,当为函数输入参数时,它将作为类似于Qt的提示 例如,键入QString()将显示一个数字为1到12的提示对话框,以及该函数参数的提示本身。 这与自动完成不同,因为它在弹出窗口中只显示固定数量的消息 请建议做这件事的任何方法。 对于QLineEdit,通常使用.setplaceholder文本(常量QString&)。这可能适用于您的应用程序。所有QWidget对象都具有函

我实现了一个包含3列的QTableWidget 第一列和第二列是一个组合框 第三列是QLineEdit

我想显示一个对话框,当为函数输入参数时,它将作为类似于Qt的提示

例如,键入QString()将显示一个数字为1到12的提示对话框,以及该函数参数的提示本身。 这与自动完成不同,因为它在弹出窗口中只显示固定数量的消息

请建议做这件事的任何方法。


对于QLineEdit,通常使用.setplaceholder文本(常量QString&。这可能适用于您的应用程序。

所有
QWidget
对象都具有函数
void setToolTip(const QString&)
,因此您可以执行以下操作:

QLineEdit *lineEdit= new QLineEdit();
lineEdit->setToolTip("Example");

此外,您还可以使用类

在小部件位置显示工具提示,您可以执行以下操作:

QToolTip::showText( widget->mapToGlobal( QPoint( 0, 0 ) ), tooltipText);
你可以在这里输入你想要的任何位置。 如果要显示彩色文本,请参见


有关更详细的说明,请参阅。

“设置此属性会使行编辑显示灰色占位符文本,只要行编辑为空。”我认为这不会显示对话框,它只会在QLineEdit对象内显示文本。当我开始在QLineEdit对象上键入时,我想显示一些类似于对话框的内容。那么看看QtCreator本身的源代码呢?不了解您想要什么,但请查看
QWidget::setToolTip
方法、
QToolTip
(提供随时在任何位置显示的工具提示)和
QCompleter
类。它也可能是一个自定义的
QWidget
,带有'Qt::Popup'或
Qt::Tooltip
标志。我支持@maxik的注释。如果你想知道它是如何完成的,请阅读源代码。事实上,这就是我在问完这个问题后正在做的事情。如果你知道怎么做,我不知道从哪里开始。我可以调试Qt源代码吗?@steiryx你能让它正常工作吗?你能分享你的解决方案来帮助其他有同样问题的人吗?谢谢如果要调试Qt源代码,需要调试信息。您可以通过自己编译Qt进行调试模式来获得这些信息。谢谢您的输入。我将对此进行研究,但首先想到的是,它只会在悬停时触发,而不会在诸如键入QLineEdit对象之类的操作时触发。根据文档,如果要控制工具提示的行为,可以拦截
event()
函数并捕获
QEvent::tooltip
事件。