Qt样式表(8):使用样式表设置选项卡部件的外观(QTabWidget的样式)(转载)

Qt样式表(8):使用样式表设置选项卡部件的外观

本文为非本人原创文章,本次转载作者已经同意,其他人转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)

原文链接:https://blog.csdn.net/hyongilfmmm/article/details/83190358

![作者已经同意,才转载](https://img-blog.csdnimg.cn/20200422225923343.bmp?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2x4ajM2MjM0Mw==,size_16,color_FFFFFF,t_70#pic_center)

以下才是转载内容

本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)

本文出自本人原创著作《Qt5.10 GUI完全参考手册》网盘地址:
https://pan.baidu.com/s/1iqagt4SEC8PUYx6t3ku39Q
《C++语法详解》网盘地址:https://pan.baidu.com/s/1dIxLMN5b91zpJN2sZv1MNg

若对C++语法不熟悉,建议参阅本人所著《C++语法详解》一书,电子工业出版社出版,该书语法示例短小精悍,对查阅C++知识点相当方便,并对语法原理进行了透彻、深入详细的讲解,可确保读者彻底弄懂C++的原理,彻底解惑C++,使其知其然更知其所以然。此书是一本全面了解C++不可多得的案头必备图书。

5、选项卡相关及QToolBox
在这里插入图片描述
图13-42为QTabWidget的各组成部分
在这里插入图片描述

示例13.24:设置QTabWidget的样式(效果见图13-43)
#include<QtWidgets>
int main(int argc, char *argv[]){    QApplication aa(argc,argv);
QWidget w;
   //设置QTabWidget的内容
QTabWidget *pt=new QTabWidget(&w);		pt->move(22,22);
QWidget *pw1=new QWidget;				QWidget *pw2=new QWidget;
QWidget *pw3=new QWidget;				QWidget *pw4=new QWidget;
pw1->setObjectName("pw1");						//设置容器pw1的对象名
QPushButton *pb1=new QPushButton("AAA",pw1);	
QPushButton *pb2=new QPushButton("BBB",pw2);
QPushButton *pb3=new QPushButton("CCC",pw3);
pt->addTab(pw1,"111");		pt->addTab(pw2,"222");
pt->addTab(pw3,"333");		pt->addTab(pw4,"444");
pt->setUsesScrollButtons(true);					//1、使QTabWidget显示滚动条
pt->resize(333,222);							//2、设置QTabWidget的大小
qDebug()<<pt->findChildren<QObject*>();  			//读者可使用该函数查看QTabWidget的各组件
     aa.setStyleSheet(
    "QWidget#pw1{background: green;}"				//3、设置容器pw1的背景色为绿色
   	"QTabWidget::pane{"						//4、设置QTabWidget的面板样式(背景色为黄色)
        	"border: 2px solid red;  	 margin:22px 22px 22px 22px;"
        	"background: rgb(111,111,1); background-clip:margin;	background-origin:margin;"
       	"width:77;		height:55;"			//5、设置面板的大小
       	"subcontrol-position: bottom left;}	"	//6、面板位于左下角
//7、QTabWidget选项卡栏的背景色(黄色)和边框需使用QTabBar设置
"QTabWidget QTabBar{"   //注意选择器的语法,表示设置QTabWidget的子部件QTabBar

“background: rgb(111,111,1); border: 2px solid green; min-height:111;}”

//8、使用::tab-bar子控件设置选项卡栏的位置和宽度
“QTabWidget::tab-bar {width:177; subcontrol-position:right;}” //选项卡栏位于右侧

//9、使用::tab子控件设置选项卡的背景(绿色)和大小
" QTabBar::tab{ background: green; border: 2px solid red; border-radius:5;"
“width:77; height:44;}” //选项卡的大小

//10、使用::scroller设置滚动区域的宽度
“QTabBar::scroller {width:15;}”

//11、设置右箭头
“QTabBar QToolButton::right-arrow {”
“background: blue; background-clip:margin;”
“image:url(F:/1i.png); border: 2px solid rgb(111,1,111);}”

//12、设置左箭头
“QTabBar QToolButton::left-arrow {”
“background: green; border: 2px solid rgb(111,1,111); image:url(F:/2i.png);}”
);
w.resize(400,333); w.show(); return aa.exec(); }

在这里插入图片描述

本文作者:黄邦勇帅(原名:黄勇)

在这里插入图片描述

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这段代码是用CSS来创建一个具有下拉菜单功能的导航栏。以下是每一行代码的注释: ```css *{margin:0; padding:0;font-size:12px;} /* 设置全局样式 */ ul,ol,li {list-style: none;} /* 去除列表默认样式 */ #nav {width: 100px;margin:0 auto;} /* 设置导航栏宽度和居中对齐 */ #nav li{height:36px;} /* 设置每个菜单项的高度 */ #nav li span{ /* 设置每个菜单项的图标样式 */ display: block; float: right; width: 35px; height: 35px; border-bottom-left-radius: 5px; border-top-left-radius: 5px; background: #7a6e6e url("插图11/toolbars.png") no-repeat; } #nav li:nth-of-type(1) span{background-position: 0px -15px;} /* 设置第一个菜单项的图标背景位置 */ #nav li:nth-of-type(2) span{background-position: 0px -57px;} /* 设置第二个菜单项的图标背景位置 */ #nav li:nth-of-type(3) span{background-position: 1px -106px;} /* 设置第三个菜单项的图标背景位置 */ #nav li:nth-of-type(4) span{background-position: 0px -156px;} /* 设置第四个菜单项的图标背景位置 */ #nav li:nth-of-type(5) span{background-position: 0px -200px;} /* 设置第五个菜单项的图标背景位置 */ #nav li:nth-of-type(6) span{background-position: 2px -265px;} /* 设置第六个菜单项的图标背景位置 */ #nav li p{ /* 设置每个菜单项的下拉内容样式 */ height: 35px; text-align: left; background: #c81623; color: #ffffff; border-bottom-left-radius: 5px; border-top-left-radius: 5px; line-height: 35px; padding-left: 10px; display: none; /* 初始状态下隐藏下拉内容 */ } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值