设置QTabWidget的Tab部分的颜色

时间:2014-02-10 20:14:03

标签: qt qtabwidget

当我更改QTabWidget的背景颜色时,窗口小部件的选项卡部分不会更改颜色。在线查看似乎没有一种简单的方法来设置这种颜色。建议?

1 个答案:

答案 0 :(得分:2)

你可以使用Qt的样式表来做到这一点。来自the docs

/* Style the tab using the tab sub-control. Note that
    it reads QTabBar _not_ QTabWidget */
QTabBar::tab  {
    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1,
                                stop: 0 #E1E1E1, stop: 0.4 #DDDDDD,
                                stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3);
    border: 2px solid #C4C4C3;
    border-bottom-color: #C2C7CB; /* same as the pane color */
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    min-width: 8ex;
    padding: 2px;
}

一旦您将感兴趣的QSS定义为字符串,然后使用setStyleSheet方法在相关小部件上设置QSS。如果您只对设置背景颜色感兴趣,那么简单的样式表就足够了:

yourQTabWidget->setStyleSheet("QTabBar::tab { background-color: #FF0000; }");

-stylesheet命令行选项也可用,可用于设置应用程序的样式。在一个表现良好的应用程序中,您应该能够执行以下操作:

yourQtProgram.exe -stylesheet /path/to/your/stylesheet.qss