QCompleter和QLineEdit用于多个单词

时间:2009-01-21 17:13:06

标签: java c++ qt

有没有办法让QCompleter像多个单词的自动完成一样?

有人有任何想法吗?

由于

1 个答案:

答案 0 :(得分:8)

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

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 and beta”,这是一个以上的单词。没有限制。

澄清后更新:

似乎所请求的是在分隔符值之后开始新的自动完成。在当前情况下,此分隔符将是一个空格。一个等效的例子是 来自Qt示例的tree model completer。这个例子说明了如何解决相同的情况。