Qt样式表(8):使用样式表设置选项卡部件的外观
本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)
本文出自本人原创著作《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(); }
本文作者:黄邦勇帅(原名:黄勇)