赞
踩
继承自QWidget
主要作用为接收用户的快捷键
获取焦点后开始获取信息,当停止输入1s后停止接收信息
目录
2.1.1 设置默认快捷键 setKeySequence()
2.2 QKeySequence(QKeySequence.StandardKey key)
2.4 QKeySequence(int k1,int k2 = 0,int k3 = 0,int k4 = 0)
3.2 键位序列改变信号 keySequenceChanged()
为了让他先不获取焦点,我们再搞一个le
画红框的就是QKeySequenceEdit的原始样子
我们让他获取焦点,然后按ctrl + A,之后再把焦点给le
这个就是它获取到的内容
在输入未结束的时候会在文本框中出现...
录制结束之后如果再次获取焦点并输入新的按键,则会清空之前的内容
它这里面有一个参数QKeySequence
上面这个图中标准键位序列有以下内容
尽可能使用上面的默认键位序列,这些是所有人的用的习惯的
在这里是可以用整形Int替代的,但是我们尽量不要用int,这样会导致我们自己看不懂
这些是替代的Int值,我们自己不要用,但是当看别人的代码时,我们要看的懂
这些是QKeySequence中所有的int值,用在哪不知道,这个没有测试过
我们现在看一下怎么创建QKeySequence()
下面设置key_str时要注意,加号的两侧不能有空格
我们在这里直接把设置和获取讲了
也可以在构造函数中直接设置
我就不一个一个试了,我试一个replace,ctrl+H
咱们看到刚刚的标准键位后有一个值对应两种按键的情况,根据不同的操作系统可能会出现不一样的情况,比如说我复制是有两个的
我们发现显示的ctrl + c
之后我们把它赋值给QKeySequenceEdit()
这个我们要搞一个按钮然后连接一个槽函数
我们现在输入三个ctrl+A
之后点击一下按钮
发现内容被清空了
一个快捷键文本框,一个单行文本框,快捷键文本框连结束编辑的信号
我们输入ctrl+a后,结束编辑时
注:
我们首先输入ctrl+a,在我们结束的时候
我们现在再将焦点移回快捷键文本框,再次输入ctrl+a
当我们输入的时候会再次激活信号,这次信号代表把之前的内容清空
输入结束的时候又激活了一遍信号,这次表示又输入了一次
也就是我们在完成两次输入这一过程中,共触发了三次信号
同一批次的键位序列改变信号总是会在结束编辑前触发,现在我们把两个信号都连接起来
我们输入一次ctrl+a
再输入一次
keySequenceChanged可以传递变量QKeySequenceEdit也就是我们的快捷键文本框本身
我们可以使用相应方法,比如获取快捷键文本框快捷键的个数count
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。