QTabWidget理论总结

  • 1. 简述
  • 2. 用法流程
  • 3. 选项卡设置
  • 3. 页面信息
  • 3. 外观
  • 4. 扩展

1. 简述

QTabWidget 提供一个选项卡栏和一个“页面区域”,用于显示与每个选项卡相关的页面。默认情况下,选项卡栏显示在页面区域上方,但可以使用不同的配置(可以设置到上下左右)。每个选项卡都与不同的QWidget(称为页面)相关联。页面区域中仅显示当前页面;所有其他页面均处于隐藏状态。用户可以通过单击其选项卡或按其 Alt+字母快捷方式(如果有)来显示不同的页面。

最典型的就像Windows系统的详细属性,在对话框的顶部有一系列的选项卡可以使用来切换不同页面。

2. 用法流程

使用 QTabWidget 的正常方法是执行以下操作:

  1. 创建一个 QTabWidget。
  2. 为选项卡对话框中的每个页面创建一个 QWidget,但不为它们指定父小部件。
  3. 将每个页面需要的控件 放置 到页面中,使用布局将它们正常定位。
  4. 调用 addTab() 或 insertTab() 将第 2 步 的页面和选项卡绑定并插入到 QTabWidget中,为每个选项卡提供一个合适的标签和一个可选的键盘快捷键。

3. 选项卡设置

我们可以使用 setTabText() 或 setTabIcon() 更改选项卡的文本和图标。可以使用 removeTab() 把选项卡及其关联的页面 删除。每个选项卡在任何给定时间都处于启用或禁用状态(请参阅 setTabEnabled())。如果启用了选项卡,则会正常绘制选项卡文本,用户可以选择该选项卡。如果禁用,则以不同的方式绘制选项卡,用户无法选择该选项卡。请注意,即使禁用了选项卡,页面仍可见,例如,如果所有选项卡都恰好被禁用。因为选项卡必定有一个选中的,这个用控件封装好的,可以不管的。

3. 页面信息

当前页面索引可用作 currentIndex(),同时 currentWidget() 指向当前页面。我们可以使用 widget() 检索指向具有给定索引的页面的指针,并且可以使用 indexOf() 查找小部件的索引位置。使用 setCurrentWidget() 或 setCurrentIndex() 显示特定页面。

同时,我们还可以监控页面发生改变时得情况,当用户选择页面时发出信号 currentChanged()。

3. 外观

选项卡的位置由 tabPosition 定义,其形状由 tabShape 定义。

可以设置选项卡的两种形状,方形或者三角形的

可以设置 选项卡是否带按钮 (通过 setTabsClosable())

还可以 设置 选项卡的 位置 (通过 setTabPosition() )

其他的还可以设置 tab 图标等等,tab上的文字太多,如何省略之类的。

4. 扩展

QTabWidget 是拆分复杂对话框的好方法。把很大的配置分一个类别,然后分开设置。在拆分复杂对话框还有一种方法是使用 QStackedWidget作为堆栈页面的控件,在页面之间导航的控件可以使用,例如 QToolBar、 QListWidget 或 QPushButton 等。

QTabWidget 中的大多数功能由 QTabBar(顶部提供选项卡)和 QStackedWidget(大部分区域,组织各个页面)提供。说明 QTabWidget 其实是封装了一次的控件。

Qt扫盲-QTabWidget理论总结相关推荐

  1. Qt扫盲- QTcpSocket 理论总结

    QTcpSocket 理论总结 一.概述 二.使用 一.概述 TCP (Transmission Control Protocol)是一种可靠的.面向流的.面向连接的传输协议.它特别适合于数据的连续传 ...

  2. Qt扫盲-QSqlQuery理论总结

    QSqlQuery理论总结 一.概述 二.使用 1. 数据查询 2.查询参数绑定 3. 绑定值的方法 1. 使用命名占位符的命名绑定: 2. 使用命名占位符的位置绑定: 3. 使用位置占位符绑定值(版 ...

  3. Qt扫盲-QDebug理论总结

    QDebug理论使用总结 一.概述 二.使用 1. 基础使用 2. 格式化选项 3.将自定义类型写入流 一.概述 每当开发人员需要将调试或跟踪信息写入设备.文件.字符串或控制台时,都会使用QDebug ...

  4. Qt扫盲-QNetworkAccessManager理论总结

    QNetworkAccessManager理论总结 一.概述 二.基础用法 1. 下载数据 2. 上传数据 二.网络和漫游支持 一.概述 QNetworkAccessManager 其实就是一个访问网 ...

  5. Qt扫盲-QProcess理论总结

    QProcess理论使用总结 一.概述 二.使用 三.通过 Channel 通道通信 四.同步进程API 五.注意事项 1. 平台特性 2. 不能实时读取 一.概述 QProcess 其实更多的是与外 ...

  6. Qt扫盲-QSlider理论总结

    QSlider理论总结 1. 简述 2. 常用功能 3. 外观 4. 最常用信号 5. 键盘功能 1. 简述 QSlider是用于控制边界值的经典小部件.它允许用户沿水平或垂直凹槽移动QSlider ...

  7. Qt扫盲-QSystemTrayIcon理论总结

    QSystemTrayIcon理论总结 一.概述 二.使用对象 三.使用 四.常用函数介绍 1. 静态函数 2. 公共槽函数 3. 信号 一.概述 现代操作系统通常在桌面上提供一个特殊的区域,称为系统 ...

  8. Qt扫盲-QScrollArea理论总结

    QScrollArea理论总结 1. 概述 2. 滚动条策略 3. 子控件 4. 尺寸提示 1. 概述 QScrollArea 用于显示滚动区域框架内的子控件的内容.如果控件超过框架的大小,视图可以提 ...

  9. Qt扫盲-QLineEdit理论总结

    QLineEdit理论总结 1. 简述 2. 输入模式 3. 输入限制 4. 文本操作槽函数 3. 信号 4. 快捷键 5. 外观 1. 简述 QLineEdit 是一个有用的编辑功能类,主要是处理输 ...

最新文章

  1. 【Salvation】——登录注册存储数据验证用户
  2. 计算机网络知识点4——计算机网络性能
  3. HDU - 5459 Jesus Is Here(思维+非线性递推)
  4. 关于同步时间——hadoop
  5. android动画详解
  6. 新网卡不能绑定“旧”IP故障的解决
  7. 掼蛋游戏WEB版——PHP后台实现源码
  8. BNU44583——Star Trek: First Contact——————【01背包】
  9. 在SQL2005中,关闭SQL Browser服务,增强数据库的安全性
  10. oracle_dblink配置
  11. java中sql查找_Java 中如何使用 SQL 查询文本
  12. java时间段的查询_JAVA实现按时间段查询数据操作的方法
  13. python用户画像_研究用户应该从哪几个维度去构建用户画像模型?
  14. 光纤跳线接口_综合布线与弱电工程:跳线、尾纤、光纤接口,一文讲明白
  15. 考研 | 组成原理【第二章】数据的表示和运算
  16. python自学路线——人工智能方向
  17. Fluent NHibernate入门
  18. 物联网网线POE供电主控设计方案
  19. 分布式与云化的主要区别
  20. 用户标签体系的搭建方法

热门文章

  1. C++畅玩五子棋项目
  2. JEB2插件教程之一JEB2AutoRenameByTypeInfo.py
  3. java获取text plain_request中获取post的json对象数据content-type=“text/plain”
  4. 案例分析:回归-克里金方法生成气温表面图(1)
  5. [复选框] 获取checkbox选中的值
  6. iOS事件传递链与响应链
  7. 让人心动的jQuery插件和HTML5动画
  8. 单测利器——PowerMockito使用心得
  9. 最新域名升级是什么?
  10. 学习大数据前应该了解什么?