How to accomplish drop down word suggestions in Qt?(如何在Qt中完成下拉单词建议?)
问题描述
假设我在 QListWidget(隐藏)和 QLineEdit 中有 10 个名称.现在,如果我在编辑"行中键入字母a",它应该在列表小部件中显示所有以字母A"开头的名称的下拉列表.用户可以使用鼠标或键盘进行选择(因为会有垂直滚动条).我不确定 QLineEdit 是否可以做到这一点.但我想知道有什么办法可以做到这一点.
Say I have 10 names in a QListWidget (which is hidden) and an a QLineEdit. Now if I type the letter "a" in the line Edit it should display a drop down of all those name in the list widget that begin with the letter "A". the user could select using a mouse or a keyboard (since there will be a vertical scroll-bar). I am not sure if a QLineEdit could do this. But I would like to know what is out there to accomplish this.
推荐答案
您可以使用 QCompleter,它提供了一种在 QLineEdit 和 QComboBox 等小部件中自动完成的方法代码>.当用户开始输入单词时,QCompleter 根据单词列表建议可能的完成单词的方法.
You can use QCompleter which provides a way for autocompletion in widgets like QLineEdit and QComboBox. When the user starts typing a word, QCompleter suggests possible ways of completing the word, based on a word list.
Qt 文档中的示例::>
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);
这篇关于如何在Qt中完成下拉单词建议?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在Qt中完成下拉单词建议?
基础教程推荐
- 如何更改 SysDateTimePick32 或 CDateTimeCtrl 的背景颜色? 2022-01-01
- C++:获取传递给函数的多维数组的行大小 2021-01-01
- 如何在 C++ 中正确使用命名空间? 2022-01-01
- c++ STL设置差异 2022-01-01
- 与 CAS 的原子交换(使用 gcc 同步内置函数) 2022-01-01
- 如何部分禁用 cmake C/C++ 自定义编译器检查 2021-01-01
- 提升 ASIO 流缓冲 2021-01-01
- 随机插入/删除的综合向量与链表基准 2022-01-01
- 为什么我们不能使用“虚拟继承"?在 COM 中? 2022-01-01
- 将不可复制的闭包对象传递给 std::function 参数 2021-01-01
