Qt控件-QTabWidget

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调整标题栏字体图标大小和标题栏高度

未调整前是这个样子:
Qt控件-QTabWidget_第1张图片
可以看到,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控件-QTabWidget_第2张图片
本文在学习博客Qt浅谈之三十五仿QQ设置面板功能遇到,博主的界面长这样,
Qt控件-QTabWidget_第3张图片
他的QTabBar的图标是很大的,但是他的默认就可以,我这里必须要代码或者QSS来实现,记录一下。

你可能感兴趣的:(Qt)