C++ 如何仅设置QTabWidget背景色样式表
我有一个Qt应用程序,在许多其他小部件类型中,它使用QTabWidget。我无法设置此对象的背景色样式 我在样式表中尝试了以下几行,从其他论坛帖子中找到的,对程序没有影响C++ 如何仅设置QTabWidget背景色样式表,c++,qt,qtabwidget,qstylesheet,C++,Qt,Qtabwidget,Qstylesheet,我有一个Qt应用程序,在许多其他小部件类型中,它使用QTabWidget。我无法设置此对象的背景色样式 我在样式表中尝试了以下几行,从其他论坛帖子中找到的,对程序没有影响 QTabWidget { background-color: black; } QTabWidget::pane { background-color: black; } QTabWidget#tabWidget { background-color: black; } QTabWidget#tabWidget::pane {
QTabWidget { background-color: black; }
QTabWidget::pane { background-color: black; }
QTabWidget#tabWidget { background-color: black; }
QTabWidget#tabWidget::pane { background-color: black; }
如果我使用QWidget{background color:black;}
,那么是的,我的颜色被正确地更改了,但是我的程序中的所有其他小部件也被更改了。。。所以这不是我要找的
我还用ui->tabWidget->setStyleSheet(“背景色:黑色”)
但这也是不可取的,因为它会更改其所有子窗口小部件的背景色
有没有人对如何设置QTabWidgets内容背景区域的样式有其他想法?大约晚了一年,但我最近遇到了同样的问题,并使其正常工作 首先,QTabWidget对于您创建的每个选项卡都有一个子QWidget。这是您将其他小部件放入的区域,也是您要设置其背景色的区域 通过执行此操作设置样式表 1) 从右上角的“设计对象”窗口确定选项卡小部件的名称,它们应与创建选项卡时设置的currentTabName匹配 2) 意识到这是一个QWidget而不是QTabWidget这就是为什么
QTabWidget{background color:black;}
不起作用的原因
3) 请意识到,通过在样式表中使用“#”指定对象,子对象将不会继承样式表
对于我来说,我指定了样式表,对我拥有的每个选项卡对象名称重复:
#objectName {background-color: rgb(240,240,240);}
这为我提供了我所需要的准确行为。在我的例子中,我希望在选项卡页面上获得自然灰色背景,但不覆盖选项卡页面上的子组件
我希望这对将来的人有所帮助 这可能对您的问题有用,因为它显示了如何更改QTabWidget的背景颜色。这里可能有一个bug,我在pyqt5中遇到了相同的问题。我无法更改标签页(不是标签栏)的背景,或者它的文档很差,所以我们找不到它。帮助它做到了,即使在多年之后。令人惊讶的是,Qt没有在文档中阐明这一点。。。