1.常用API

//添加
int addTab(QWidget *page, const QString &label)//设置tab位置
void setTabPosition(QTabWidget::TabPosition)//设置tab的形状
void setTabShape(QTabWidget::TabShape s)

2.例子

这里简单的添加两个tab

    m_tabWidget = new QTabWidget(this);ui->horizontalLayout->addWidget(m_tabWidget);//add page1QFrame *page1 = new QFrame(m_tabWidget);QHBoxLayout *h1 = new QHBoxLayout(page1);QLabel *labelName = new QLabel(page1);labelName->setText("姓名: ");h1->addWidget(labelName);QLineEdit *le1 = new QLineEdit(page1);h1->addWidget(le1);//add page2QFrame *page2 = new QFrame(m_tabWidget);QHBoxLayout *h2 = new QHBoxLayout(page2);QLabel *labelName2 = new QLabel(page2);labelName2->setText("性别: ");h2->addWidget(labelName2);QComboBox *cb2 = new QComboBox(page2);cb2->addItems(QStringList()<<"男"<<"女");h2->addWidget(cb2);m_tabWidget->addTab(page1,"姓名");m_tabWidget->addTab(page2,"性别");

运行截图:

3.右键菜单

这里,只做了一个右键删除当前page页

    //开启右键菜单m_tabWidget->setContextMenuPolicy(Qt::CustomContextMenu);m_menu = new QMenu(this);m_actionAdd = new QAction("添加",m_menu);connect(m_actionAdd,&QAction::triggered,this,&Form::slotAdd);m_actionDel = new QAction("删除",m_menu);connect(m_actionDel,&QAction::triggered,this,&Form::slotDel);m_menu->addAction(m_actionAdd);m_menu->addAction(m_actionDel);connect(m_tabWidget,&QTabWidget::customContextMenuRequested,this,&Form::slotPopMenu);void Form::slotPopMenu(const QPoint &pos){m_menu->exec(m_tabWidget->mapToGlobal(pos));}void Form::slotAdd(){//add page}void Form::slotDel(){m_tabWidget->removeTab(m_tabWidget->currentIndex());}

3.设置风格

以下style仅供参考

const QString styles = "\
QTabWidget::pane\
{\border-top: 2px solid #C2C7CB;\
}\
QTabWidget::tab-bar\
{\left: 5px;\
}\
QTabBar::tab\
{\background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,\stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);\border: 2px solid #C4C4C3;\border-bottom-color: #C2C7CB;\border-top-left-radius: 4px;\border-top-right-radius: 4px;\min-width: 8ex;\padding: 2px;\
}\
QTabBar::tab:selected, QTabBar::tab:hover\
{\background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,\stop: 0 #fafafa, stop: 0.4 #f4f4f4,\stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);\
}\
QTabBar::tab:selected\
{\border-color: #9B9B9B;\border-bottom-color: #C2C7CB;\
}\
QTabBar::tab:!selected\
{\margin-top: 2px;\
}";

源码:https://download.csdn.net/download/wzz953200463/13188035

Qt QTabWidget详解相关推荐

  1. Qt Phonon详解

    Qt Phonon详解(转帖) 前言 Phonon严格来说其实非为Qt的library,Phonon原本就是KDE 4的开放原始码多媒体API,後来与Qt合并与开发,所以简单来说就是Qt使用Phono ...

  2. Qt QSqlQueryModel详解

    1.功能概述 QSqlQueryModel是QSqlTableModel的父类.QSqlQueryModel封装了执行SELECT语句从数据库查询数据的功能,但是QSqlQueryModel只能作为只 ...

  3. Qt MetaObject 详解

    这个系列的几篇文章通过阅读Qt帮助文档和相关的源代码来学习研究Qt meta-object所提供的功能,及其实现的方式. Qt meta-object系统基于三个方面: 1.QObject提供一个基类 ...

  4. 《Qt 数据库详解》博客系列文章

    本文章原创于www.yafeilinux.com 转载请注明出处. 由于该系列文章图床都挂了,特下载原文博客的word版. 详细博客请点附件下载. 21-Qt数据库(一)简介 22-Qt数据库(二)添 ...

  5. Qt QTreeWidget 详解

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 主要API 示例 1.头文件: 2.实现文件 二.源码下载 前言 官方文档 QTreeWidget类是一个方便的类,它提供了一个标准tree小部件与 ...

  6. Qt QList详解

    1.QList是一种表示链表的模板类. 2.QList是Qt的一种泛型容器类.它以链表方式存储一组值,并能对这组数据进行快速索引,还提供了快速插入和删除等操作. 3.QList.QLinkedList ...

  7. Qt MetaObject 详解之二:QMeta数据以及数据结构信息

    如果一个类的声明中包含Q_OBJECT宏,那么qmake将为这个类生成 meta信息,这个信息在前一篇中所提到的moc文件中.这一篇通过解析这个一个示例moc文件来阐述这些meta信息的存储方式和格式 ...

  8. Qt QVector 详解:从底层原理到高级用法

    目录标题 引言:QVector的重要性与简介 QVector的常用接口 QVector和std::Vector 迭代器:遍历QVector 中的元素(Iterators: Traversing Ele ...

  9. VS中使用Qt方法详解

    在 Qt Creator 中可以使用 MSVC 编译工具对 Qt 项目进行编译.若有人比较习惯于使用 Visual Studio,或某些项目必须使用 Visual Studio,也可以在 Visual ...

最新文章

  1. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)
  2. ts快捷键 vscode_vscode怎么调试ts
  3. 第三讲 一阶线性ODE
  4. numpy中的clip函數的用法
  5. Linux(CentOS6.4)Solr4.8.1中文分词配置(IK分词)
  6. oracle 表空间 用户
  7. SVG图片以 https 链接的方式展示在页面上,并且可继承父类的颜色大小(类似阿里巴巴iconfont)
  8. BugkuCTF-Crypto题这不是md5
  9. ActiveMQ学习总结(4)——业界消息队列简介
  10. iis7 您无权使用所提供的凭据查看此目录或页面。_使用 Spring Cloud 和 Docker 轻松构建微服务架构!...
  11. clickjacking:X-frame-options header missing 漏洞解决办法
  12. 随机生成大小为100的范围是100-1000的不重复的数组
  13. 车间调度建模系列5|扩展析取图之工序间物流周转时间
  14. Windows下Mingw版本的FFMPEG源码编译
  15. PostgreSQL 怎么通过命令来恢复删除的数据
  16. 软考报名资格审核要多久?证明材料要哪些?
  17. ClickHouse在趣头条中的实战PPT
  18. undefined symbol问题的查找、定位与解决方法
  19. java杨辉三角奇数_杨辉三角中的奇数与偶数
  20. UE4 关卡蓝图实现开关门

热门文章

  1. c语言求圆的面积周长体积,c语言求圆的面积和周长
  2. 什么是配线架?为啥数据中心要使用配线架?
  3. 病理切片染色技术和生物医学基础知识
  4. 物联网卡系统php,物联网卡开发文案
  5. 没能把代码弄明白就上床睡觉后......
  6. 纯CSS时间轴实现的办法,超简单的!
  7. QuickFIX/N使用:如何自定义FIX(五)
  8. PlaySilence thread has died.
  9. 过程/数据矩阵(U/C矩阵)
  10. FTP协议及工作原理详解