QSS for QTabWidget

时间:2016-05-18 07:25:46

标签: qt qtstylesheets qtabwidget

我需要你的意见。 (对不起我的工程师。我希望你能理解我)

1)我想创建自定义TabWidget并使用QSS。现在它看起来像这样:

enter image description here

我想在标签下填写背景(我接受名为autoFillBackground的属性)。它需要看起来像这样:

enter image description here

2)当我开始拖放选项卡时,此选项卡将填充白色。当我删除标签时,此标签设置自定义qss。

我想在拖放标签时更改样式。 谢谢

(我正在阅读qss手册)

一些代码

 QTabWidget::tab-bar {
 background-color: black;
}

QTabBar::tab {
    background-color: #4094da;
    border-color:white;
    font: bold 12px 'Arial';
    color: white;
    height:60px;

}
QTabBar::tab:!selected {
    background-color: #9E9E9E;
    color: white;
 }


QTabBar::close-button {
    background-position: center;
    background-image: url(":/Appearance/close_chat_item");
}

 QTabWidget::pane { 
     position: absolute;
 }

QTabBar::tab:selected {
    border-color:#4094da;
    background-color: #4094da;
    color: white;
}

2 个答案:

答案 0 :(得分:0)

QTabWidget不绘制背景,您需要设置QTabWidget的父窗口小部件的背景。

答案 1 :(得分:0)

据我所知,您愿意在任何拖放情况下更改背景颜色(或者这是我的假设)。如果像我理解的那样,你应该在你的 qss 上定义悬停选项。有关 Qt documentation 的更多信息。

示例代码:

QTabBar::tab:selected, QTabBar::tab:hover {
    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                stop: 0 #fafafa, stop: 0.4 #f4f4f4,
                                stop: 0.5 #e7e7e7, stop: 1.0 #fafafa);
}

您的首要任务应该是在 qss 上强制成本,逻辑结构考虑第二个计划,或者您可以使用某种解决方法。