Qt之Tab键切换焦点顺序
来源:互联网 发布:二级备案域名 编辑:程序博客网 时间:2024/05/16 04:05
转自:http://blog.csdn.net/liang19890820
简介
Qt的窗口部件按用户的习惯来处理键盘焦点。也就是说,其出发点是用户的焦点能定向到任何一个窗口,或者窗口中任何一个部件。
焦点获取方式比较多,例如:鼠标点击、Tab键切换、快捷键、鼠标滚轮等。
习惯性的,我们经常会使用Tab键来控制焦点顺序,比如:用户注册时,个人信息输入框焦点的切换、执行按钮焦点的切换等。
在添加部件之后,默认情况下,Tab键也是可以切换焦点的,只不过顺序往往和我们预期不一致,所以就需要自行控制了。
- 简介
- 实现方式
- 示例
- 效果
- 源码
- QSS
- 扩展
实现方式
接口说明:
- static void QWidget::setTabOrder(QWidget * first, QWidget * second)
Puts the second widget after the first widget in the focus order.
也就是说,按下Tab键后,焦点会从第一个控件切换到第二个控件。
注意:如果第二个控件Tab顺序改变,则应该这样设置一个顺序链:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
而不是这样:
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
示例
效果
源码
下面,以三个按钮和三个输入框为例,按照部件上的文本顺序来设置Tab键切换焦点的顺序,即:1 -> 2 -> 3 -> 4 -> 5 -> 6。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
QSS
QSS用于设置部件的样式,以便我们更直观地观看效果。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
扩展
如果我们不需要为所有的部件都设置焦点切换,也就是说,只想为一部分部件设置焦点顺序。
那么,可以添加如下代码(注意:上述其它代码不作任何变动):
- 1
- 2
- 1
- 2
Qt::FocusPolicy的作用是为部件设置焦点策略,而Qt::NoFocus可以将策略设置为无焦点。
就这样,简简单单的一个接口解决了我们的问题。有兴趣的小伙伴可以看下focusNextChild
。
0 0
- Qt之Tab键切换焦点顺序
- Qt之Tab键切换焦点顺序
- 【Qt】Qt之Tab键切换焦点顺序【转】
- Qt之Tab键实现(自由切换焦点)—— 采用事件过滤器处理
- Tab键、方向键切换页面控件焦点
- 焦点与Tab顺序
- Qt设置Tab 键 顺序
- MFC 更换 按tab键 切换顺序
- qt按键焦点切换
- Qt自由切换焦点
- Qt控件焦点切换
- C#如何以回车键实现TAB键切换控件焦点
- C#datagridview回车替代TAB键切换焦点
- tab切换,获得焦点,记录密码
- 回车键的tab效果 切换输入焦点
- jquery多图tab标签切换焦点图
- MFC 设置初始焦点和TAB顺序
- 第六章 第九节 焦点与tab顺序
- [数据结构和算法]希尔排序
- 进程间通信——信号量(P、V操作)
- objdump 反编译
- 一次完整的HTTP请求与响应涉及了哪些知识?
- Android读写assets目录下面的资源文件(文件夹)
- Qt之Tab键切换焦点顺序
- SVM 支持向量机(3) SMO算法小结
- JAVA字符串转化为数字(可以适合大部分)
- 32.日志文件
- caffe ubuntu14.04 截屏版
- RecyclerView 练习(二)
- 设计模式之---观察者模式简单分析
- 把外部文件拷贝的AVD安卓模拟器上的sdcard上,并且在AVD中浏览sdcard的文件
- java环境变量配置