如何实现下拉字建议,Qt的?

问题描述 投票:6回答:1

说我有一个QListWidget(这是隐藏的)10名和一个QLineEdit。现在,如果我输入字母“a”在该行编辑,应该显示下拉列表中的小部件以字母“A”开头的那些名字了。用户可以使用鼠标或键盘选择(因为会出现一个垂直滚动条)。我不知道如果QLineEdit能做到这一点。不过,我想知道什么是在那里做到这一点。

c++ qt drop-down-menu autocomplete qlineedit
1个回答
20
投票

您可以使用QCompleter它提供了像QLineEditQComboBox小部件自动完成的方法。当用户开始输入一个字,QCompleter提示完成单词的可能的方式,根据单词列表上。

Qt documentation一个例子:

QStringList wordList;
wordList << "alpha" << "omega" << "omicron" << "zeta";

QLineEdit *lineEdit = new QLineEdit(this);

QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
lineEdit->setCompleter(completer);
© www.soinside.com 2019 - 2024. All rights reserved.