我们在前面总结了3种文本输入控件,这里有一种新的:QKeySequenceEdit,用作对快捷键的采集。结合其内部的API可以实现对自定义快捷键的设置。这节内容大致看一下就好了,我也不知道实际作用有哪些。
一.描述
QKeySequenceEdit的父类是QWidget,和前面的QLineEdit等控件不是同一个父级。在控件获取了焦点后就开始录制,在用户释放最后一个关键字后一秒后结束录制(下次按时内容会被清空)。主要来描述一个键位序列。它显示的是键位序列。
可以看到他显示的是一个序列,内容是按键的组合。
二.功能作用
1.快捷键的设定
快捷键有一种是系统默认的快捷键,例如保存(Ctrl+S),复制(Ctrl+C),还有一种是自定义的,例如QQ的自定义截屏快捷键。我们在使用快捷键的时候应该优先考虑标准键位序列,而在自定义键位序列的时候应该保证程序的可读性,避免使用枚举值对应的int数据(用Ctrl+S或Qt.Ctrl+Qt.Key_S)
2.API
QKeySequenceEdit.setKeySequence(QKeySequence) #设定字符 QKeySequenceEdit.clear() #清空字符
三.信号
QKeySequenceEdit.editingFinished() #结束编辑(结束编辑1s后) QKeySequenceEdit.keySequenceChanged() #键位序列发生改变
序列发生改变还有参数传递QKeySequence,可以利用里面的方式获取键位序列
kse.keySequenceChanged.connect(lambda key_val:print(key_val.toString()))
toString()是把键位的对象转换为字符串。