1、QKeySequenceEdit,原来三个文本编辑器无法采集快捷键;专门采集快捷键。获取键的序列。快捷键会显示在文本内部,1秒钟之后停止录制,当重新输入快捷键会替换新的快捷键。
快捷键的设置以及获取、编辑框里的内容清空。

from PyQt5.Qt import *
class Window(QWidget):
def __init__(self):
super().__init__()
self.setWindowTitle("QKeySequenceEdit的学习")
self.resize(500, 500)
self.setup_ui()
def setup_ui(self):
# 通过这种方法设置默认值
kse = QKeySequenceEdit(self)
# 方法一:通过字符串设置快捷键
#ks = QKeySequence("Ctrl + C")
# 方法二:通过标准键位序列设置快捷键
#ks = QKeySequence(QKeySequence.Copy)
ks = QKeySequence(Qt.CTRL + Qt.Key_C, Qt.CTRL + Qt.Key_A)
# 方法三:通过枚举值对应的整型数据
kse.setKeySequence(ks)
# 清空
kse.clear()
# 通过按钮获取他的默认值
btn = QPushButton(self)
btn.move(100, 100)
btn.setText("测试按钮")
btn.clicked.connect(lambda: print(kse.keySequence().toString(),
kse.keySequence().count()))
if __name__ == "__main__":
import sys
app = QApplication(sys.argv)
window = Window()
window.resize(500, 500)
window.show()
sys.exit(app.exec_())
2、常用信号

def setup_ui(self):
# 通过这种方法设置默认值
kse = QKeySequenceEdit(self)
# 方法一:通过字符串设置快捷键
#ks = QKeySequence("Ctrl + C")
# 方法二:通过标准键位序列设置快捷键
#ks = QKeySequence(QKeySequence.Copy)
ks = QKeySequence(Qt.CTRL + Qt.Key_C, Qt.CTRL + Qt.Key_A)
# 方法三:通过枚举值对应的整型数据
kse.setKeySequence(ks)
# 清空
kse.clear()
# 通过按钮获取他的默认值
btn = QPushButton(self)
btn.move(100, 100)
btn.setText("测试按钮")
btn.clicked.connect(lambda: print(kse.keySequence().toString(),
kse.keySequence().count()))
kse.editingFinished.connect(lambda: print("结束编辑"))
kse.keySequenceChanged.connect(lambda key_val: print("键位序列发生改变", key_val.toString()))
该博客介绍了如何使用PyQt5中的QKeySequenceEdit组件来创建和管理快捷键。通过实例展示了设置快捷键的不同方法,包括通过字符串、标准键位序列和枚举值,并提供了编辑框内容清空及监听快捷键改变的功能。当用户完成快捷键的设定后,程序会显示并监听快捷键的变化,提供了一种交互式的快捷键配置体验。
1672

被折叠的 条评论
为什么被折叠?



