QT原生控件-QTabWidget的使用及样式

前言

本文主要介绍的是使用代码生成的情况下对控件的介绍,包括拥有的功能及能修改的样式,也会说明在qtdesiner拖拽控件生成和使用代码生成控件的区别(如果有的话,遇到了的会说),此版本不属于最终版本,以后遇到什么新奇的点会继续更新!本文基于QT官方的文档进行的编写,QT版本为qt 5.14.0,编写环境为Windows11。不得不说官方文档真是个好东西,有时候有些不会的上去一看就能有灵感解决了,可惜没有中文版本的。


一、QTabWidget的初步介绍

QTabWidget是QT中的一个控件,由两个控件组成,头部标签栏是QTabBar(QTabBar介绍 。。未完成),内容区域则是QStackedWidget(QStackedWidget介绍。。未完成);QTabWidget允许在一个窗口中创建多个选项卡(Tab),每个选项卡都可以包含不同的子控件或窗口部件,如QLable、QPushButton、列表、图片查看器等。用户可以通过点击不同的选项卡来切换显示的内容。
QTabWidget一般应用在需要通过点击切换不同页面的场景,例如浏览器页面、不同操作的页面等等

二、基本功能

1.创建主界面

代码如下(示例):

QTabWidget *tabWidget = new QTabWidget(this);

注意:使用代码实例化一个QTabWidget是不会自带标签页的,如果使用的是Qt Designer拖拉创建的话,默认创建两个标签页

2.添加标签页

addTab()
addTab方法有两种格式,如下,第一个参数是page页面的容器控件,第二个参数是标签页的图标,第三个参数则是标签页文本,返回值是添加的位置索引。
一般使用第一个格式,第二个还没使用过,后面用到了再更新

int addTab(QWidget *page, const QString &label)
int addTab(QWidget *page, const QIcon &icon, const QString &label)  //插入的图标会显示在文字的左边

insertTab()
按索引位置插入标签页,这个也是有两个格式,返回值也是插入的位置索引值。如果插入的索引是非法值(负数或者超出范围的值,),那返回的是实际添加的值,而不是参数中的值,负数插入第一个,超出最大的为插入最后一个

int insertTab(int index, QWidget *page, const QString &label)
int insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)		//插入的图标会显示在文字的左边

标签页闪烁问题:有时候开发的时候要求动态添加标签页,所以在QTabWidget控件show()之后才去调用addTab(),就会导致标签页会闪烁一下,这是因为标签栏的布局改变了,根据官方的解决办法话是:在调用addTab()前先将QWidget::updatesEnabled属性设置为false,调用完再设置为true,例如下面

setUpdatesEnabled(false);		//设置页面停止动态更新
addTab();
setUpdatesEnabled(true);

3.移除标签页

removeTab ()
QTabWidget提供了一个根据标签索引值来移除标签页的方法,还有一个是clear(),直接清空现有的标签页;

void removeTab(int index)		//越界不会有任何操作
void clear
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值