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_())
相关推荐
wjs20246 分钟前
Chrome 浏览器:现代网络浏览的先锋
开发语言
爱学的小涛11 分钟前
【NIO基础】基于 NIO 中的组件实现对文件的操作(文件编程),FileChannel 详解
java·开发语言·笔记·后端·nio
吹老师个人app编程教学12 分钟前
详解Java中的BIO、NIO、AIO
java·开发语言·nio
爱学的小涛12 分钟前
【NIO基础】NIO(非阻塞 I/O)和 IO(传统 I/O)的区别,以及 NIO 的三大组件详解
java·开发语言·笔记·后端·nio
北极无雪16 分钟前
Spring源码学习:SpringMVC(4)DispatcherServlet请求入口分析
java·开发语言·后端·学习·spring
Mopes__32 分钟前
Python | Leetcode Python题解之第452题用最少数量的箭引爆气球
python·leetcode·题解
AI视觉网奇39 分钟前
pymeshlab 学习笔记
开发语言·python
纪伊路上盛名在1 小时前
如何初步部署自己的服务器,达到生信分析的及格线
linux·运维·服务器·python·学习·r语言·github
木向1 小时前
leetcode42:接雨水
开发语言·c++·算法·leetcode
gopher95111 小时前
final,finally,finalize的区别
java·开发语言·jvm