我有一个QCompleter,它强制我的用户在弹出窗口可见但不用于选择项目时按两次输入。与完成相关联的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”),其中有更长的完成可用,并且他们在没有从弹出窗口中选择任何东西的情况下击中(即既没有激活,也没有激活,也没有被激活),那么他们就会再次进入处理他们输入的文本。有一个简单的方法吗?
感谢
答案 0 :(得分:0)
我尝试使用Qt 4.6.2和Visual 2008,你所描述的情况不会发生。 project available如果您想尝试。
编译,开始,键入'something'然后在组合框中返回:它已注册,键入'some'并返回:你的组合框现在有“some”和“somewhere”