python - 有一种通过按键检查 QCheckBox 的方法吗?

标签 python pyqt pyqt5 qcheckbox

我正在 PyQt5 中工作,希望能够在按键上选中/取消选中 QCheckBox,就像使用 QPushButton 一样。我检查了文档和 Google,但找不到实现此目的的方法。

最佳答案

您必须覆盖 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_())

关于python - 有一种通过按键检查 QCheckBox 的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55842175/

相关文章:

python - 将嵌套字典从 json 转换为以值作为列的数据框

python - Django 框架中未使用值(在范围内未使用)

python - 类初始化

python - 无法启动设计的pyQt应用程序

python-3.x - Pyinstaller --- 不编译我的 GUI 脚本

python - 我需要帮助在 discord py 中制作一个 discord py temp mute 命令

python - pytest-qt 测试对话框

python - 在 PyQt5 中截取网页

windows - 卸载 PyQt5 以安装 PyQt4

python - 如何在同一个项目中使用 Streamlit 和 Pytest