2015-10-08 3 views
2

В моем приложении у меня есть функция поиска, в которой вы можете ввести текст поиска в QComboBox (с историей в списке), и у меня также есть кнопка поиска. Если я напишу строку поиска и нажмите enter, я получаю currentIndexChanged и могу начать поиск. То же самое, если я выберу элемент в списке. Если я нажму кнопку поиска, я могу получить текущий элемент из поля со списком и начать поиск.Fake enter on QComboBox

Однако, есть один специальный случай, который я пытаюсь решить. Если я напишу текст поиска, не нажимая клавишу «Ввод», а затем нажмите кнопку поиска, написанный текст не попадает в список текущего индекса. Я думаю, что самый простой способ исправить это будет то, что кнопка поиска вызовет событие ввода в поле со списком, но я не нашел способ сделать это ...

ответ

1

Я решил это, сделав это в обработчик событий:

self.comboBox_find.keyPressEvent(QKeyEvent(QEvent.KeyPress, QtCore.Qt.Key_Enter, QtCore.Qt.NoModifier))