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_())
相关推荐
草莓熊Lotso40 分钟前
红黑树从入门到进阶:4 条规则如何筑牢 O (logN) 效率根基?
服务器·开发语言·c++·人工智能·经验分享·笔记·后端
曹牧1 小时前
C#:姓名脱敏
开发语言·c#
缺点内向1 小时前
C# 中 Word 文档目录的插入与删除指南
开发语言·c#·word·.net
r***d8651 小时前
Rust宏编程指南
开发语言·后端·rust
czhc11400756631 小时前
C# 1120抽象类 static
java·开发语言·c#
你不是我我1 小时前
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?
java·开发语言·spring boot
ivanfor6661 小时前
多租户架构的三级权限体系:设计逻辑与精准控制实现
java·开发语言·数据库
zzzsde1 小时前
【C++】C++11(1):右值引用和移动语义
开发语言·c++·算法
学困昇1 小时前
C++11中的包装器
开发语言·数据结构·c++·c++11