setStyleSheet("QTabWidget::pane{border-width:1px;border-color:rgb(48, 104, 151);\
border-style: outset;background-color: rgb(132, 171, 208);\
background: transparent;} \
QTabWidget::tab-bar{border-width:0px;}\
QTabBar::tab{border-bottom-color: #C2C7CB;\
border-top-left-radius: 0px;\
border-top-right-radius: 0px;\
max-width: 75px; min-width:75px; min-height:25px;\
font:14px Times New Roman;\
padding: 0px;\
}\
QTabBar::scroller {\
width:25;\
border:0;\
padding: 0px;\
}\
QTabBar QToolButton::right-arrow {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/rightbtn.png);\
}\
QTabBar QToolButton::right-arrow:hover {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/hoverrightbtn.png);\
}\
QTabBar QToolButton::right-arrow:disabled {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/grayrightbtn.png);\
}\
QTabBar QToolButton::left-arrow {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/leftbtn.png);\
}\
QTabBar QToolButton::left-arrow:hover {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/hoverleftbtn.png);\
}\
QTabBar QToolButton::left-arrow:disabled {\
background-color:rgb(132, 171, 208);\
border-width: 0;\
background-image: url(:/images/tab/grayleftbtn.png);\
}\
QTabBar::tab:first:selected {\
margin-left: 30; margin-right: 0;\
color: white;\
border-image: url(:/images/tab/sel3.png);\
}\
QTabBar::tab:first:!selected {\
color: black;\
margin-left: 30; margin-right: 0;\
border-image: url(:/images/tab/normal3.png);\
}\
QTabBar::tab:first:hover:!selected {\
color: black;\
margin-left: 30; margin-right: 0;\
border-image: url(:/images/tab/hover3.png);\
}\
QTabBar::tab:middle:selected {\
margin-top: 0; margin-left: -15; margin-right: 8;\
color: white;\
border-image: url(:/images/tab/sel3.png);\
}\
QTabBar::tab:middle:!selected {\
color: black;\
margin-top: 0; margin-left: -15; margin-right: 8;\
border-image: url(:/images/tab/normal3.png);\
}\
QTabBar::tab:middle:hover:!selected {\
color: black;\
margin-top: 0; margin-left: -15; margin-right: 8;\
border-image: url(:/images/tab/hover3.png);\
}\
QTabBar::tab:last:selected {\
margin-top: 0px; margin-left: 0; margin-right: 0;\
color: white;\
border-image: url();\
}\
QTabBar::tab:last:!selected {\
color: black;\
margin-top: 0; margin-left: 0; margin-right: 0;\
border-image: url();\
}\
QTabBar::tab:last:hover:!selected {\
color: black;\
margin-top: 0; margin-left: 0; margin-right: 0;\
border-image: url();\
}\
QTabBar::tab:only-one {\
margin: 0;\
}");
tab标签的长度,也需要重载QTabBar来动态计算。
二、设置QTabwidget的TabBar的样式1
QString tabBarStyle = "QTabBar::tab {min-width:100px;color: white;background-color:qlineargradient(x1:0, y1:0, x2:0, y2:1, stop: 0 #eeeeee, stop: 1 gray);border: 2px solid;border-top-left-radius: 10px;border-top-right-radius: 10px;padding:5px;}
\
QTabBar::tab:!selected {margin-top: 5px;} \
QTabBar::tab:selected {color: blue;}";
m_TabWidget->setStyleSheet(tabBarStyle);
三、设置QTabwidget的TabBar的样式2
QTabWidget::pane{
border:none;
QTabWidget::tab-bar{
alignment:left;
QTabBar::tab{
background:transparent;
color:white;
min-width:30ex;
min-height:10ex;
QTabBar::tab:hover{
background:rgb(255, 255, 255, 100);
QTabBar::tab:selected{
border-color: white;
background:white;
color:green;
QT
ab
Widget
的选项卡宽度默认是按照字符的宽度计算的,有时候需要自动拉伸填充整个t
ab
bar,使得更美观,
QT
ab
Widget
控件本身不带这个属性设置或者方法控制的,需要自行计算,比如在窗体显示的时候自动计算
QT
ab
Widget
的整体宽度,除以t
ab
的数量就是每个t
ab
选项卡的宽度,然后对应设置
样式
表即可。也可以继承
QT
ab
Widget
写个类专门做这个事情。
void MainWindo...
//标题栏红色背景,t
ab
选中蓝色,未选中灰色
ui->t
ab
Widget
->setStyleSheet("
QT
ab
Widget
#t
ab
Widget
{background-color:rgb(255,0,0);}\
This is the original T
ab
widget
without setting title background colorMy customer ask me to do something like this;Set different background colour for titleAll - Yellowpurchase - light bluePOS Sales - ...
个人使用
qt
,感觉
QT
ab
widget
是个非常好用的控件,但有时候总是感觉其t
ab
样式
不好控制或说不够灵活,从而导致放弃使用该控件。比如说,标签横向显示的时候,文字随之也横着显示了,这样还需要指定
自定义
样式
,继承QProxyStyle类并重写drawControl虚函数。
然而这样过于麻烦,关于软件主菜单不同的界面切换,个人还是比较喜欢按键组合+STacked
Widget
控件。
对于一遍的小界面来说,
QT
ab
Widget
其实完全满足你的使用要求,所以本文主要简述
QT
ab
widget
样式
的常用使用方法,配合标
1、t
ab
风格
样式
:
QT
ab
Bar::t
ab
{min-width:100px;color: white;background-color:qlineargradient(x1:0, y1:0, x2:0, y2:1, stop: 0 #eeeeee, stop: 1 gray);border: 2px solid;border-top-left-radius: 10px;border-top