第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快捷键输入部件使用案例》。如果有兴趣也愿意支持老猿的读者,欢迎购买付费专栏。