Как отключить переключение 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)
→ Ссылка