目录
1. Group Box
2. Table Widget
容器类控件:容器里面还可以容纳一些其它的控件
多元素控件:包含的内容,是一个一个的自定义好的 “Item”对象
容器类控件,包含的内容是前面已经讲述过的各种控件了,QPushButton,QLineEdit,QLabel 等等……
这里主要介绍 QGroupBox 分组框 和 QTableWidget 标签页
1. Group Box
使⽤ QGroupBox 实现⼀个带有标题的分组框. 可以把其他的控件放到⾥⾯作为⼀组. 这样看起来能更好看⼀点.
可以把其他的各种控件放到 GroupBox 中,这些内部的控件的父元素就不是 this 了,而是这个 GroupBox
核心属性
| 属性 | 说明 |
| title | 分组框的标题 |
| alignment | 分组框内部内容的对⻬⽅式 |
| flat | 是否是 "扁平" 模式 |
| checkable | 是否可选择. 设为 true, 则在 title 前⽅会多出⼀个可勾选的部分. |
| checked | 描述分组框的选择状态 (前提是 checkable 为 true) |
分组框只是⼀个⽤来 "美化界⾯" 这样的组件, 并不涉及到⽤⼾交互和业务逻辑. 属于 "锦上添花" .
eg:塔斯汀的点餐
2. Table Widget
使⽤ QTabWidget 实现⼀个带有标签⻚的控件, 可以往⾥⾯添加⼀些 widget. 进⼀步的就可以通过标签⻚来切换.
核心属性
| 属性 | 说明 |
| tabPosition | 标签⻚所在的位置. North 上方 South 下方 West 左侧 East 右侧 |
| currentIndex | 当前选中了第几个标签⻚ (从 0 开始计算) |
| currentTabText | 当前选中的标签⻚的⽂本 |
| currentTabName | 当前选中的标签⻚的名字 |
| currentTabIcon | 当前选中的标签⻚的图标 |
| currentTabToolTip | 当前选中的标签⻚的提⽰信息 |
| tabsCloseable | 标签⻚是否可以关闭 |
| movable | 标签⻚是否可以移动 |
核心信号
| 属性 | 说明 |
| currentChanged(int) | 在标签⻚发⽣切换时触发, 参数为被点击的选项卡编号. |
| tabBarClicked(int) | 在点击选项卡的标签条的时候触发. 参数为被点击的选项卡编号 |
| tabBarDoubleClicked(int) | 在双击选项卡的标签条的时候触发. 参数为被点击的选项卡编号. |
| tabCloseRequest(int) | 在标签⻚关闭时触发. 参数为被关闭的选项卡编号. |
图形化界面:
运行:
改为 Tab 3:
删除操作,右键Tab 3:
此时再运行就只有两个标签页了:
标签页的方向:
此时标签页就在下方了:
设置标签页是否能切换:
代码实现:提供两个按钮,分别创建新的标签页,关闭当前选中的标签页,当切换标签页的时候,也能感知到变化。
大概的轮廓:
新增标签页的实现:
删除标签页的实现:
运行:
标签页的切换:
右键:
运行: