QTabWidget的标题栏图标无法显示
icon添加的方式如下:
QIcon iconTab1(":/image/bullet_green.png");
pTabConfigPanel->addTab(pWgtTab1, iconTab1, QStringLiteral("参数设置"));
下面的是错误的方式,
QIcon iconTab1("url(:/image/bullet_green.png"));
pTabConfigPanel->addTab(pWgtTab1, iconTab1, QStringLiteral("参数设置"));
因为路径是从stylesheet直接拷贝过来,但是这儿不能加url的label。
QTabWidget调整标题栏字体图标大小和标题栏高度
未调整前是这个样子:
可以看到,QTabWidget的标题栏,通过min-height和font-size可以调整标题栏高度和字体大小,
QTabBar::tab {
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
/*font-size: 12px;
border: 2px solid #C4C4C3;
border-bottom-color: #C2C7CB;
padding: 2px;*/
padding: 3px 8px 3px 8px;
margin:1px;
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
下面代码可以改变图标大小,
pTabConfigPanel->setIconSize(QSize(32, 32));
理论上也是可以用qss实现的,因为iconSize是他的一个属性,不行的原因找到了,因为用的控件是QTabWidget,QTabWidget也有一个iconSize属性,应该是这个会覆盖QTabBar的iconSize属性,所以对QTabBar设置属性是没用的。关于QSS设置属性方法参考博客Qt 之 QSS(Q_PROPERTY-原始属性)。
QTabWidget {
qproperty-iconSize: 32px 32px;
}
QTabBar::tab {
/*qproperty-drawBase: 0;*/
border-bottom-left-radius:0px;
border-bottom-right-radius:0px;
color: #F0F0F0;
min-width: 60px;
min-height: 20px;
/*font-size: 12px;
border: 2px solid #C4C4C3;
border-bottom-color: #C2C7CB;
padding: 2px;*/
padding: 3px 8px 3px 8px;
margin:1px;
/*qproperty-iconSize: 32px 32px;*/
background: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 #636363, stop:1 #575757);
}
现在的长相还是不错的,
本文在学习博客Qt浅谈之三十五仿QQ设置面板功能遇到,博主的界面长这样,
他的QTabBar的图标是很大的,但是他的默认就可以,我这里必须要代码或者QSS来实现,记录一下。