更改QTabWidget的背景颜色

时间:2014-05-17 08:11:40

标签: c++ qt

我目前有一个QTabWidget看起来像这样.QtabWidget里面有一个QtableView

enter image description here

我想知道如何更改QtabWidget的背景颜色。我想维护QtabWidget的现有样式表,只在红色箭头标记的区域添加蓝色背景。总之,我想在标签下添加背景颜色。我目前有一个看起来像这样的样式表

QTAB

QTabWidget
{
  /*   min-width:5000em;*/
}


 QTabWidget::tab-bar 
{
     left: 5px; /* move to the right by 5px */
 }


 QTabWidget::pane
 {
     border-top: 1px solid gray;
     border-left: 1px solid gray;
     border-right: 1px solid gray;
     border-bottom: 1px solid gray;
 }

 QTabBar::tab
 {
     background-color: rgb(166, 166, 166);
     min-width: 70px;

     padding-top : 6px;
     padding-bottom : 8px;
     color: rgb(255, 255, 255);
     font: 10pt "Arial";
 }

 QTabBar::tab:selected, QTabBar::tab:hover 
{
     background-color: rgb(127, 127, 127);
 }

 QTabBar::tab:selected 
{
     /*border-color: #9B9B9B;*/
 }

 QTabBar::tab:!selected
 {
     margin-top: 2px; /* make non-selected tabs look smaller */

 }

有关如何在标签下添加背景颜色的任何建议将不胜感激。感谢。

2 个答案:

答案 0 :(得分:0)

您可以在构造函数中使用stStyleSheet:

ui->YOURWIDGET->setStyleSheet("background-color: YOURCOLOR");

答案 1 :(得分:0)

为了使QWidget的子类适用于背景颜色,您需要覆盖此函数

   def paintEvent(self, event):
      o = QtGui.QStyleOption()
      o.initFrom(self)
      p = QtGui.QPainter(self)
      self.style().drawPrimitive(QtGui.QStyle.PE_Widget, o, p, self)