PyQt5Day19--输入控件QKeySequenceEdit纯文本输入(键盘键位识别)

一、QKeySequenceEdit简介

  (键盘键位识别)

  控件允许输入QKeySequence,它通常用作快捷方式。

  当空间收到焦点时开始录制,并在用户释放最后一个关键字后一秒钟结束。

 

二、功能作用+信号

(1)框架

(2)操作及展示

 1 # *******************QKeySequenceEdit**********************开始
 2 from PyQt5.Qt import *
 3 
 4 class Window(QWidget):
 5     def __init__(self):
 6         super().__init__()
 7         self.setWindowTitle("QKeySequenceEdit")
 8         self.resize(500, 500)
 9         self.setup_ui()
10 
11     def setup_ui(self):
12         kse = QKeySequenceEdit(self)
13         # 方法一
14         # ks = QKeySequence("Ctrl+C")
15         # 方法二
16         # ks = QKeySequence(QKeySequence.Copy)
17         # 方法三
18         ks = QKeySequence(Qt.CTRL+Qt.Key_C,Qt.CTRL+Qt.Key_A) # 两组
19         kse.setKeySequence(ks)
20 
21         # 清除
22         # kse.clear()
23 
24         # 获取输入内容
25         btn = QPushButton(self)
26         btn.move(100,100)
27         btn.setText("测试按钮")
28         # btn.clicked.connect(lambda :print(kse.keySequence())) # 获取的是对象
29         btn.clicked.connect(lambda :print(kse.keySequence().toString(),kse.keySequence().count())) # 获取的是对象
30 
31         # 信号
32         kse.editingFinished.connect(lambda :print("结束编辑"))
33         kse.keySequenceChanged.connect(lambda key_val:print("键位序列发生改变",key_val.toString())) # 打印出改变后的内容
34 
35 if __name__ == '__main__':
36     import sys
37 
38     app=QApplication(sys.argv)
39 
40     window=Window()
41     window.show()
42     sys.exit(app.exec_())
43 # *******************QKeySequenceEdit**********************结束

 

posted @ 2020-04-14 11:20  红叶楠木  阅读(706)  评论(0编辑  收藏  举报