如何在Qt中完成下拉单词建议?

时间:2014-06-16 16:54:30

标签: c++ qt drop-down-menu autocomplete qlineedit

假设我在QListWidget(隐藏)和a QLineEdit中有10个名字。现在,如果我在行Edit中键入字母“a”,它应该显示列表小部件中以字母“A”开头的所有名称的下拉列表。用户可以使用鼠标或键盘进行选择(因为会有垂直滚动条)。我不确定QLineEdit是否能做到这一点。但我想知道有什么可以实现这一目标。

1 个答案:

答案 0 :(得分:20)

您可以使用QCompleterQLineEditQComboBox等小部件提供自动填充方式。当用户开始输入单词时,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);