我有一个 QCompleter,当弹出窗口可见但不用于选择项目时,它会强制我的用户按两次 Enter。与已完成相关联的 QComboBox 的模型用作完成者的模型。
QCompleter *completer = new QCompleter(this);
completer->setCaseSensitivity(Qt::CaseInsensitive);
completer->setCompletionMode(QCompleter::PopupCompletion);
completer->setModel(this->ui->comboBox->model());
this->ui->comboBox->setCompleter(completer);
随着用户输入项目,可能完成的列表会增加。如果他们开始输入较短的完成(例如“dir”),而那里有更长的可用完成,并且他们没有从弹出窗口中选择任何东西(即激活、高亮或索引更改都没有被触发),那么他们将被迫再次按下 enter 以处理他们输入的文本。有解决这个问题的简单方法吗?
谢谢
最佳答案
我用 Qt 4.6.2 和 Visual 2008 试过了,你描述的情况没有发生。 project available如果你想试试。
编译,开始,输入'something'然后在combobox中returb:它已经注册,输入'some'并返回:你的combobox现在有“some”和“somewhere”
关于c++ - QCompleter强制双输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229874/