当前位置: 首页 > news >正文

Windows图形界面(GUI)-QT-C/C++ - QT Tab Widget

  • 公开视频 -> 链接点击跳转公开课程
  • 博客首页 -> ​​​链接点击跳转博客主页

目录

一、概述

1.1 什么是 QTabWidget?

1.2 使用场景

二、常见样式

2.1 选项卡式界面

2.2 动态添加和删除选项卡

2.3 自定义选项卡标题和图标

三、属性设置

3.1 添加页面(Add Page)

3.2 删除页面(Remove Page)

3.3 页面标题(Tab Text)

3.4 页面图标(Tab Icon)

3.5 当前选项卡索引(Current Index)

四、内容处理

4.1 添加页面

4.2 插入页面

4.3 删除页面

4.4 设置页面标题

4.5 获取页面标题

4.6 设置页面图标

4.8 获取当前页面索引

4.9 设置当前页面索引

五、高级功能

5.1 自定义选项卡样式

5.2 选项卡位置

5.3 选项卡关闭按钮

5.4 选项卡拖拽


一、概述

1.1 什么是 QTabWidget

QTabWidget 是 Qt 框架中的一个重要控件,用于在一个窗口中显示多个页面。每个页面可以包含不同的控件和内容,用户可以通过点击选项卡来切换不同的页面。

QTabWidget 提供了一个简洁、有序的界面,特别适合在有限的屏幕空间内显示多个功能或信息组。

1.2 使用场景

  • 多页面显示:当需要在同一个窗口中显示多个页面时,QTabWidget 是一个理想的选择。每个页面可以包含不同的控件和内容,用户可以通过点击选项卡来切换页面。

  • 界面整洁:在有限的屏幕空间内,QTabWidget 可以帮助开发者将多个功能或信息组组织得井井有条,保持界面的整洁和有序。

  • 动态管理QTabWidget 支持动态添加和删除选项卡,使得开发者可以根据需要灵活地管理页面。

二、常见样式

2.1 选项卡式界面

QTabWidget 提供了一个选项卡式的界面,每个选项卡对应一个页面。用户可以通过点击选项卡来切换不同的页面。

2.2 动态添加和删除选项卡

QTabWidget 支持动态添加和删除选项卡,开发者可以根据需要随时添加或删除页面。

2.3 自定义选项卡标题和图标

每个选项卡可以设置标题和图标,使得界面更加直观和美观。

三、属性设置

3.1 添加页面(Add Page)

使用 addTab(QWidget *widget, const QString &label) 方法可以向 QTabWidget 添加一个新页面,并设置页面的标题。

QTabWidget *tabWidget = new QTabWidget(this);
QWidget *page1 = new QWidget();
tabWidget->addTab(page1, "Page 1");

3.2 删除页面(Remove Page)

使用 removeTab(int index) 方法可以从 QTabWidget 中删除指定位置的页面。

tabWidget->removeTab(0); // 删除第一个页面

3.3 页面标题(Tab Text)

使用 setTabText(int index, const QString &label) 方法可以设置指定位置页面的标题。

tabWidget->setTabText(0, "New Page 1 Title");

3.4 页面图标(Tab Icon)

使用 setTabIcon(int index, const QIcon &icon) 方法可以设置指定位置页面的图标。

tabWidget->setTabIcon(0, QIcon(":/images/icon.png"));

3.5 当前选项卡索引(Current Index)

使用 setCurrentIndex(int index) 方法可以设置当前显示的页面索引,使用 currentIndex() const 方法可以获取当前显示页面的索引。

tabWidget->setCurrentIndex(1); // 切换到第二个页面
int currentIndex = tabWidget->currentIndex(); // 获取当前页面索引

四、内容处理

4.1 添加页面

  • addTab(QWidget *widget, const QString &label):向 QTabWidget 添加一个新页面,并设置页面的标题。

4.2 插入页面

  • insertTab(int index, QWidget *widget, const QString &label):在指定位置插入一个新页面,并设置页面的标题。

4.3 删除页面

  • removeTab(int index):从 QTabWidget 中删除指定位置的页面。

4.4 设置页面标题

  • setTabText(int index, const QString &label):设置指定位置页面的标题。

4.5 获取页面标题

  • tabText(int index) const:获取指定位置页面的标题。

4.6 设置页面图标

  • setTabIcon(int index, const QIcon &icon):设置指定位置页面的图标。

4.8 获取当前页面索引

  • currentIndex() const:获取当前显示页面的索引。

4.9 设置当前页面索引

  • setCurrentIndex(int index):设置当前显示页面的索引。

五、高级功能

5.1 自定义选项卡样式

QTabWidget 允许开发者通过样式表(StyleSheet)自定义选项卡的外观。例如,可以设置选项卡的背景颜色、字体、边框等。

tabWidget->setStyleSheet("QTabBar::tab { background-color: #f0f0f0; color: #000; }");

5.2 选项卡位置

QTabWidget 允许开发者设置选项卡的位置,可以放置在窗口的顶部、底部、左侧或右侧。

tabWidget->setTabPosition(QTabWidget::South); // 将选项卡放置在底部

5.3 选项卡关闭按钮

QTabWidget 支持在每个选项卡上添加关闭按钮,用户可以通过点击关闭按钮来关闭页面。

tabWidget->setTabsClosable(true);
connect(tabWidget, &QTabWidget::tabCloseRequested, [=](int index) {tabWidget->removeTab(index);
});

5.4 选项卡拖拽

QTabWidget 支持选项卡的拖拽功能,用户可以通过拖拽选项卡来重新排列页面的顺序。

tabWidget->setMovable(true);

http://www.lryc.cn/news/530872.html

相关文章:

  • 【大数据技术】教程05:本机DataGrip远程连接虚拟机MySQL/Hive
  • C++:结构体和类
  • MATLAB的数据类型和各类数据类型转化示例
  • UE求职Demo开发日志#19 给物品找图标,实现装备增加属性,背包栏UI显示装备
  • C++泛型编程指南09 类模板实现和使用友元
  • 使用MATLAB进行雷达数据采集可视化
  • 【Elasticsearch】allow_no_indices
  • 54【ip+端口+根目录通信】
  • python算法和数据结构刷题[3]:哈希表、滑动窗口、双指针、回溯算法、贪心算法
  • DeepSeek横空出世,AI格局或将改写?
  • 聚簇索引、哈希索引、覆盖索引、索引分类、最左前缀原则、判断索引使用情况、索引失效条件、优化查询性能
  • OpenAI 实战进阶教程 - 第四节: 结合 Web 服务:构建 Flask API 网关
  • python的pre-commit库的使用
  • 架构技能(四):需求分析
  • Linux环境下的Java项目部署技巧:安装 Nginx
  • 前端 Vue 性能提升策略
  • 深入理解linux中的文件(上)
  • Unity特效插件GodFX
  • 从 C 到 C++:理解结构体中字符串的存储与操作
  • Linux进阶——时间服务器
  • 力扣 295. 数据流的中位数
  • 【Linux】进程状态和优先级
  • 携程Java开发面试题及参考答案 (200道-上)
  • Docker 部署教程jenkins
  • 深入理解开放寻址法中的三种探测序列
  • 图像噪声处理技术:让图像更清晰的艺术
  • linux运行级别
  • 深入剖析Electron的原理
  • C++ 游戏开发:完整指南
  • WebForms SortedList 深度解析