Qt中的QTabWiget 类提供了一个便签控件,但是这个控件默认初始化的颜色是白色,和原窗口的颜色不同,看起来非常的违和,所以我们希望将其的背景颜色设为当前窗口的背景颜色。我们所要做的就是先将应用程序窗口的背景颜色取出来,然后再赋给QTabWiget 类的每个标签,比如说我们有tab1和tab2两个标签,要改变其背景颜色可用如下代码:

 



ui.tab1->setPalette(QWidget::palette().color(this->backgroundRole()));
ui.tab1->setAutoFillBackground(true);
ui.tab2->setPalette(QWidget::palette().color(this->backgroundRole()));
ui.tab2->setAutoFillBackground(true);


 

如果要改成某一特定的颜色,比如绿色, 可用如下代码:



ui.tab1->setPalette(*(new QPalette(Qt::green)));
ui.tab1->setAutoFillBackground(true);