Можно ли проверить QCheckBox нажатием клавиши? - PullRequest
1 голос
/ 25 апреля 2019

Я работаю в PyQt5 и хотел бы иметь возможность проверять / снимать флажок QCheckBox на предварительном нажатии клавиши, как с QPushButton.Я проверил документацию и Google, но не могу найти способ сделать это.

1 Ответ

1 голос
/ 25 апреля 2019

Вы должны перезаписать метод keyPressEvent и вызвать метод nextCheckState () , чтобы изменить состояние QCheckBox:

import sys
from PyQt5 import QtCore, QtGui, QtWidgets


class CheckBox(QtWidgets.QCheckBox):
    def keyPressEvent(self, event):
        if event.key() in (QtCore.Qt.Key_Enter, QtCore.Qt.Key_Return):
            self.nextCheckState()
        super(CheckBox, self).keyPressEvent(event)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = CheckBox("StackOverflow")
    w.show()
    sys.exit(app.exec_())
...