界面组件布局:

Qt 的界面设计使用了布局(Layout)功能。所谓布局,就是界面上组件的排列方式,使用布局可以使组件有规则地分布,并且随着窗体大小变化自动地调整大小和相对位置。

界面组件的层次关系。

为了将界面上的各个组件的分布设计得更加美观,经常使用一些容器类,如 QgoupBox、QtabWidget、QFrame 等。

GroupBox组件可以向里面添加其他组件,移动这个GroupBox就可以同时移动这个GroupBox中的所有组件。

布局管理:

Qt 为界面设计提供了丰富的布局管理功能,在 UI 设计器中,组件面板里有 Layouts 和 Spacers 两个组件面板,在窗体上方的工具栏里有布局管理的按钮。

使用组件面板里的布局组件设计布局时,先拖放一个布局组件到窗体上,然后再往该布局组件中拖入其他组件即可。

在设计窗体的上方有一个工具栏,用于调整设计器进入不同的状态,以及进行布局设计。

使用工具栏上的布局控制按钮时,只需在窗体上选中需要设计布局的组件,然后点击某个布局按钮即可。在窗体上选择组件时同时按住 Ctrl 键,可以实现组件多选,选择某个容器类组件,相当于选择了其内部的所有组件。

例如,选中GroupBox,然后单击“Lay Out Horizontally”工具栏按钮,就可以对 GroupBox内的所有组件水平布局。

伙伴关系与 Tab 顺序。

在 UI 设计工具栏上单击“Edit Buddies”按钮可以进入伙伴关系编辑状态,如设计一个窗体时,进入伙伴编辑状态之后的界面如图所示。

伙伴关系(Buddy)是指界面上一个 Label 和一个组件相关联,如图中的伙伴关系编辑状态,单击一个 Label,按住鼠标左键,然后拖向一个组件,就建立了 Label 和组件之间的伙伴关系。

伙伴关系是为了在程序运行时,在窗体上用快捷键快速将输入焦点切换到某个组件上。例如,在如上图的界面上,设定“姓名”标签的 Text 属性为“姓名(&N)”,其中符号“&”用来指定快捷字符,界面上并不显示“&”,这里指定快捷字母为 N。那么程序运行时,用户按下Alt+N,输入焦点就会快速切换到“姓名”关联的输入框内。

在 UI 设计器工具栏上单击“Edit Tab Order”按钮进入Tab 顺序编辑状态(如上图所示)。Tab 顺序是指在程序运行时,按下键盘上的 Tab 键时输入焦点的移动顺序。一个好的用户界面,在按 Tab 键时,焦点应该以合理的顺序在界面上移动,而不是随意地移动。

进入 Tab 顺序编辑状态后,在界面上会显示具有 Tab 顺序组件的编号,依次按希望的顺序单击组件,就可以重排 Tab 顺序了。没有输入焦点的组件是没有 Tab 顺序的,如 Label 组件。

项目功能实现:

窗体在设计模式下,选中 chkBoxUnder 组件,单击右键调出其快捷菜单。在快捷菜单中单击菜单项“Go to slot…”(转到槽...),出现如图所示的对话框。

该对话框列出了 QCheckBox 类的所有信号,第一个是 clicked(),第二个是带一个布尔类型参数的 clicked(bool)。

信号 clicked(bool) 会将 CheckBox 组件当前的选择状态作为一个参数传递,在响应代码里可以直接利用这个传递的参数。而如果用信号 clicked(),则需要在代码里读取 CheckBox 组件的选中状态。为了简化代码,选择 clicked(bool) 信号。

选择 clicked(bool),然后单击“OK”按钮,在 QWDialog 的类定义中,会在 private slots 部分自动增加一个槽函数声明,函数名是根据发射对象及其信号名称自动命名的。

同时,在 qwdialog.cpp 文件中自动添加了函数 on_chkBoxUnder_clicked(bool) 的框架。

qt checkbox 选中事件_Qt学习笔记3(布局管理)相关推荐

  1. qt checkbox 选中事件_Qt基础知识学习

    Qt基础知识学习 Qt C++ SQLite ★★★★★   Qt · 简介 Qt是由Qt Company开发的面向对象的跨平台C++图形用户界面应用程序开发框架. 前期 · 准备 01 辨析Qt(开 ...

  2. qt checkbox 选中事件_丽声事件 | 十堰市第五届全国青少儿播音主持等级考试圆满落幕...

    原标题:丽声事件 | 十堰市第五届全国青少儿播音主持等级考试圆满落幕 丽声考级圆满落幕 十堰市第五届全国青少儿播音主持等级考试于上周末在丽声播音主持学校圆满落幕,本次考级共有近300名学员报名参与. ...

  3. 【QT 5 相关实验-仪表盘-学习笔记-表盘组件练习与使用总结】

    [QT 5 相关实验-仪表盘-学习笔记-表盘组件练习与使用总结] 1.概述 2.实验环境 3.参考资料-致谢 4.自我提升+实验效果 5.代码练习-学习后拆解 (1)头文件部分 (2)绘制事件+绘制表 ...

  4. Windows事件等待学习笔记(四)—— 事件信号量互斥体

    Windows事件等待学习笔记(四)-- 事件&信号量&互斥体 要点回顾 事件 实验:验证SignalState 第一步:编译并运行以下代码 第二步:观察结果 第三步:修改代码并执行 ...

  5. Windows事件等待学习笔记(三)—— WaitForSingleObject函数分析

    Windows事件等待学习笔记(三)-- WaitForSingleObject函数分析 要点回顾 WaitForSingleObject NtWaitForSingleObject KeWaitFo ...

  6. Windows事件等待学习笔记(二)—— 线程等待与唤醒

    Windows事件等待学习笔记(二)-- 线程等待与唤醒 要点回顾 等待与唤醒机制 可等待对象 可等待对象的差异 线程与等待对象 一个线程等待一个对象 实验 第一步:编译并运行以下代码 第二步:在Wi ...

  7. Windows事件等待学习笔记(一)—— 临界区自旋锁

    Windows事件等待学习笔记(一)-- 临界区&自旋锁 基础知识 演示代码 案例一 案例二 LOCK 单行代码原子操作 多行代码原子操作 临界区 演示代码 手动实现 自旋锁 分析 KeAcq ...

  8. checkbox jq 监听_「checkbox 选中事件」jquery checkbox 选中、改变状态、change 和 click 事件 - seo实验室...

    checkbox 选中事件 jquery判断checked的三种方法: ​​​​​​​ .attr('checked); //看版本1.6+返回:"checked"或"u ...

  9. 【vn.py学习笔记(三)】vn.py事件引擎 学习笔记

    [vn.py学习笔记(三)]vn.py事件引擎 学习笔记 1 时间驱动 2 事件驱动 3 事件引擎工作流程 4 事件引擎结构 4.1 事件队列 4.2 事件处理线程 4.3 事件处理函数字典/通用事件 ...

最新文章

  1. vue 不是内部或外部命令,也不是可运行的程序 或批处理文件
  2. @autowired注解_品Spring:对@Autowired和@Value注解的处理方法(文末附spring系列资源合集)...
  3. MySQL使用INSERT插入多条记录
  4. C#的变迁史 - C# 2.0篇
  5. java Object解析
  6. SpringBoot 热部署
  7. java读取图片缩略方法_java 图片缩略图的两种方法
  8. python注释的用法(单and多行)
  9. Installing OwnCloud 9 on Debian 8
  10. KVO(NSKeyValueObserving)、KVC(NSKeyValueCoding)作用浅谈
  11. python读取dat文件代码-基于python批量处理dat文件及科学计算方法详解
  12. 摄影测量学和计算机视觉,摄影测量学
  13. Burp Suite —— 验证码识别、切换IP
  14. 《设计心理学》读书笔记
  15. 华为hcie认证中-VxLAN 网管划分
  16. linux mbr gpt 区别,MBR、GPT的结构和区别
  17. Linux中 [Error 28] 设备上没有空间
  18. Codeforces Round #672 (Div. 2) C2 - Pokémon Army (hard version)(贪心,维护变化值)
  19. WinRAR实用技巧:一个设置,可能让多文件压缩变得更小!
  20. python qqplot 检验正态分布

热门文章

  1. 计算机毕业设计中ASP.NET数据源控件
  2. 在线mod计算机,计算机系中有关mod的常识(全).doc
  3. java中id name_关于DOM对象中的id与name的区别
  4. java151和152_编写高质量代码:改善Java的151个建议(性能和效率)132-133
  5. 黑群晖vmm专业版_Virtual Machine Manager 专业版打造高效安全虚拟环境
  6. Python-语句结构
  7. TortoiseGit使用入门
  8. 面向.Net程序员的Sql版本管理
  9. 测试数据库日期格式转换
  10. MVC的Filter应用小结