第15.45节、PyQt输入部件:QKeySequenceEdit快捷键输入部件简介和使用案例

一、功能简介

Key Sequence Edit输入部件是用于输入快捷键序列的一个部件,输入快捷键完成后会发射keySequenceChanged( QKeySequence)和editingFinished()信号,前者的信号签名就是新输入的快捷键序列,后者则不能提供快捷键,但可以通过部件的keySequence属性获取。

二、案例

2.1、案例介绍

在一个窗口中设计了一个按钮,点击该按钮就会弹出一个设置按钮快捷键的QKeySequenceEdit弹窗以供输入快捷键,输入完成后即将按钮快捷键设置为输入值。

2.2、界面设计

在这里插入图片描述

2.3、按钮点击响应槽方法setBtnShortCut开发

槽方法的目的就是弹出快捷键设置框,并将快捷键编辑部件的keySequenceChanged信号连接到绑定快捷键到按钮的槽方法。

    def setBtnShortCut(self):
        self.keySeqEdit = QtWidgets.QKeySequenceEdit()
        self.keySeqEdit.show()
        self.keySeqEdit.keySequenceChanged[QtGui.QKeySequence].connect(self.btnshortCutChanged) 

2.4、快捷键改变的槽方法btnshortCutChanged开发

槽方法的目的就是将最新的快捷键设置为按钮。

    def btnshortCutChanged(self,ks):
        self.btn_setShortcut.setShortcut(ks)
        print(ks.toString())

这样设置后,就可以直接使用设置的快捷键触发按钮了。

三、运行截图

初始界面

在这里插入图片描述

点击按钮后的弹窗界面

在这里插入图片描述

输入快捷键ASD

在这里插入图片描述
运行控制台打印出输入的快捷键:
在这里插入图片描述
此时在界面上连续输入“asd”三个字符,就会再次触发快捷键的设置。

广告

老猿关于PyQt的付费专栏《使用PyQt开发图形界面Python应用》只需要9.9元,该部分与第十五章的内容基本对应,但同样内容在付费专栏上总体来说更详细、案例更多。本节内容对应付费专栏的《第三十八章、PyQt输入部件:QKeySequenceEdit快捷键输入部件使用案例》。如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。

跟老猿学Python、学5G!

原文地址:https://www.cnblogs.com/LaoYuanPython/p/12805856.html