pyqt5-快捷键QShortcut

python 复制代码
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *

"""
下面示例揭示了,当关键字绑定的控件出现的时候,快捷键才管用,
绑定的控件没有出现的时候快捷键无效
"""


class Demo1(QMainWindow):
    def __init__(self):
        super().__init__()
        form_layout = QFormLayout()
        self.text_edit = QTextEdit()
        shortcut_show_msg = QShortcut(QKeySequence(Qt.CTRL + Qt.Key_M), self.text_edit)
        shortcut_show_msg.activated.connect(lambda: print('你好'))
        button = QPushButton("显示/隐藏")
        button.clicked.connect(self.show_or_hide)
        form_layout.addRow("文本行", self.text_edit)
        form_layout.addWidget(QTextEdit())
        form_layout.addWidget(button)
        widget = QWidget()
        widget.setLayout(form_layout)
        self.setCentralWidget(widget)

    def show_or_hide(self):
        if self.text_edit.isVisible():
            self.text_edit.setVisible(False)
        else:
            self.text_edit.setVisible(True)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    window = Demo1()
    window.show()
    sys.exit(app.exec_())
相关推荐
FfHUCisI2 分钟前
Golang RESTful API 设计原则
开发语言·golang·restful
breeze jiang5 分钟前
ESLint flat config 配置实战:五大字段、规则严重级别与 --fix 能力边界详解
开发语言·前端·javascript
weixin_3077791318 分钟前
PHP 大文件上传:内存占用、超时与最佳实践
linux·服务器·开发语言·nginx·php
m0_5270343321 分钟前
异步任务审核系统设计:消息队列、超时重试与失败补偿
java·大数据·开发语言
一朵好运莲1 小时前
智能体使用 Chrome DevTools MCP 调试浏览器
开发语言·javascript·react.js
zzzll11111 小时前
Loop Engineering:循环工程的原理、实践与应用
java·数据库·python
秋田君1 小时前
QT_JSON文件操作
开发语言·qt·json
老赵的博客1 小时前
可维护性 可扩展性 可复用性
开发语言·c++
sibylyue1 小时前
工作流表单和流程设计前端
开发语言·javascript·开源