QCompleter заставляет дважды войти - PullRequest
2 голосов
/ 09 февраля 2010

У меня есть 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»), где есть более длинные доступные завершения, и они нажимают, не выбирая ничего из всплывающего окна (т. Е. Не активируются, не подсвечиваются или не индексируются, то запускаются), тогда они заставляют снова нажать ввод обработайте текст, который они ввели. Есть ли простой способ обойти это?

спасибо

1 Ответ

0 голосов
/ 14 апреля 2011

Я пробовал это с Qt 4.6.2 и Visual 2008, и описанная вами ситуация не происходит. проект доступен , если вы хотите попробовать.

Скомпилируйте, запустите, введите «что-то», затем вернитесь в комбинированный список: он зарегистрирован, введите «некоторые» и вернитесь: теперь в вашем комбинированном окне есть «некоторые» и «где-то»

...