Найти - Пользователи
Полная версия: PyQt5 как отлавливать нажатые клавиши?
Начало » GUI » PyQt5 как отлавливать нажатые клавиши?
1
coollervl
переопределил метод
 def keyPressEvent(self, QKeyEvent):
        print(str(QKeyEvent))

но при нажатии разных клавиш выдача всегда одна
<PyQt5.QtGui.QKeyEvent object at 0xf5a49017c18>
как мне вообще это конвертировать в символы?
py.user.next
  
if event.key() == Qt.Key_A:
    print('A')
coollervl
Спасибо, а как отлавливать русские буквы?
Rodegast
А тебе зачем?
coollervl
Rodegast
А тебе зачем?
у меня выход из программы по нажатию буквы Q, а если включена русская раскладка то по нажатию Й выдает ошибку
Rodegast
Тебе не надо keyPressEvent переопределять. Добавь в конструктор
 QtGui.QShortcut(QtGui.QKeySequence(QtCore.Qt.Key_Q), self, self.close)
и будет тебе счастье.
coollervl
Rodegast
Тебе не надо keyPressEvent переопределять.
спасибо сработало.
а все таки если предопределять keyPressEvent как быть с русскими буквами? (это для общего понимания)
Rodegast
Для этого нужно определять клавишу по скан-коду. Т.е. использовать метод nativeScanCode в место key. Но значение этих кодов может зависить от типа клавиатуры, по этому лучше ничего не переопределять.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB