У меня есть QCompleter, который заставляет моих пользователей нажать дважды, когда всплывающее окно видно, но не используется для выбора элемента. Модель для QComboBox, связанная с завершенной, используется в качестве модели для дополнения.QCompleter force double enter
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»), где есть больше доступных доработок, и они нажимают, не выбирая ничего из всплывающего окна (т. Е. Ни активированные, ни highlited, ни indexchanged не запускаются), тогда они вынуждают обрабатывать введенный текст. Есть ли простой способ обойти это?
благодаря
Я написал быстро тестовую программу, но я не удалось воспроизвести вашу проблему. Когда я нажимаю enter один раз, активируется сигнал 'active (const QString &)', даже если отображается полное всплывающее окно. Какую версию Qt вы используете? Какую ОС вы используете? –