считывание нажатий клавиатуры в PyQt5

Не могу найти библиотеку для считывания нажатий с клавиатуры в окне PyQt


Ответы (1 шт):

Автор решения: gil9red

Для обработки нажатия кнопок в окне Qt можно использовать события keyPressEvent и keyReleaseEvent.

Целочисленные значения кнопок описаны в: https://doc.qt.io/qt-5/qt.html#Key-enum

Пример:

from PyQt5.QtWidgets import QApplication, QLabel
from PyQt5.QtGui import QKeyEvent
from PyQt5.QtCore import Qt


class MainWindow(QLabel):
    def keyPressEvent(self, event: QKeyEvent):
        super().keyPressEvent(event)

        text = f'{event.key()} : {event.text()!r}'
        print(text)

        self.setText(text)


if __name__ == '__main__':
    app = QApplication([])

    mw = MainWindow()
    mw.setAlignment(Qt.AlignCenter)
    mw.resize(200, 200)
    mw.show()

    app.exec()
→ Ссылка