本文介绍了如何完成下拉字建议在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?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 05:27