你可以使用Qt中的QCompleter类来实现在文本框中输入时出现提示框的功能。具体步骤如下:
创建一个QLineEdit对象,用于接受用户输入。
创建一个字符串列表或者模型数据集合(例如QStringList、QStandardItemModel),用于提供自动完成的单词列表。
创建一个QCompleter对象,并将其与字符串列表或者模型数据集合绑定。
将创建好的QCompleter对象设置为 QLineEdit 对象的自动完成器(completer) 。
启用 QLineEdit 对象的自动完成功能(setAutoCompletion(true))。
代码示例:
#include <QtWidgets>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建主窗口
QWidget w;
QVBoxLayout *layout = new QVBoxLayout(&w);
// 创建 QLineEdit 对象
QLineEdit *lineEdit = new QLineEdit(&w);
// 设置提示信息
QStringList words{"apple", "banana", "cherry"};
// 创建 QCompleter 对象,并与单词列表绑定
QCompleter *completer = new QCompleter(words, &w);
// 设置自动完成器
lineEdit->setCompleter(completer);
// 启用自动完成功能
lineEdit->setAutoCompletion(true);
layout->addWidget(lineEdit);
w.show();
return app.exec();
}
这样当你在文本框中输入字符时,就会弹出包含单词列表的提示框了。
内容由零声教学AI助手提供,问题来源于学员提问