Как отключить переключение QComboBox по стрелкам на клавиатуре?
Пишу на питоне, но вроде-бы Qt и PyQt одинаковы. У меня есть класс, в котором я создаю QComboBox.
self.mode_map = QComboBox(self)
Также у меня есть метод keyPressEvent
def keyPressEvent(self, event):
elif event.key() == Qt.Key_Down:
self.y = str((float(self.y) - 0.1 * float(self.delta)))
elif event.key() == Qt.Key_Up:
self.y = str((float(self.y) + 0.1 * float(self.delta)))
всё бы хорошо, но только вместо моего кода в методе, выполняется переключение элементов QCombobox. Ниже всё, что я делаю с QComboBox'ом.
self.mode_map.setGeometry(450, 400, 100, 40)
self.mode_map.addItems(self.modes.keys())
Нужно, чтобы при нажатии на кнопку вниз или вверх срабатывал мой код, а не переключение элементов. Заранее спасибо.
Ответы (1 шт):
Автор решения: Alexander Chernin
→ Ссылка
Попробуйте создать свой класс комбо в котором переопределите соответствующие методы, например:
class MyComboBox(QComboBox):
def keyPressEvent(self):
pass
def keyReleaseEvent(self):
pass
И далее, в коде:
self.mode_map = MyComboBox(self)