使用两个 QStringList 自动完成

AutoComplete using two QStringList

本文关键字:QStringList 两个      更新时间:2023-10-16

我知道如何使用QCompleter类。法典:

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);

但是我想加入QString,就像xxxxx.yyyyy一样xx当我输入该QStringlist中的所有自动完成应该出现下拉列表时,因此在我选择适当的.如果我输入自动完成表单第二个QStringList应该下拉。

我知道我没有正确地表达我的观点,但很难解释这一点。

我想

到的一个基本想法是,您应该在该只侦听.字符的QLineEdit上注册一个按键侦听器。用户输入.字符后,您应该将到目前为止输入的所有字符都附加到第二个QStringList并将其脚移到QCompleter

步骤:

  • 应用第一个QStringList
  • 当用户键入 . 时,将到目前为止输入的内容附加到第二个QStringList并将其应用于QCompleter