QCompleter和QLineEdit用于多个单词

4

有没有办法让QCompleter像多词自动完成一样工作?

有人有想法如何做到这一点吗?


这与Java有关系吗? - Michael Myers
Qt也可用于Java,因此在某种程度上它是可以的。 - Yorgos Pagles
1个回答

9

我不知道我是否理解正确:

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

QCompleter *completer = new QCompleter(wordList, this);
completer->setCaseSensitivity(Qt::CaseInsensitive);

QLineEdit *lineEdit = new QLineEdit(this);
lineEdit->setCompleter(completer);

如果您键入“alp”,则会得到“alpha和beta”这个超过一个单词的完成提示。没有限制。
在澄清后进行更新:
似乎请求的是在分隔符值之后启动新的自动完成。在当前情况下,此分隔符将是空格。一个等效的示例是Qt示例中的树模型自动完成器。此示例说明了如何解决相同的情况。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接