QCompleter和QLineEdit用于多个单词

mil*_*het 3 c++ java qt

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

有人有任何想法怎么做?

谢谢

Yor*_*les 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);
Run Code Online (Sandbox Code Playgroud)

如果您输入alp,那么您将获得完成"alpha and beta",这不仅仅是一个单词.没有限制.

澄清后更新:

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