我在 PyQt5 中工作,希望能够像使用 QPushButton 一样在按键预压上选中/取消选中 QCheckBox。我已经检查了文档和谷歌,但找不到执行此操作的方法。
您必须覆盖 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_())