Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何仅设置QTabWidget背景色样式表_C++_Qt_Qtabwidget_Qstylesheet - Fatal编程技术网

C++ 如何仅设置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 {

我有一个Qt应用程序,在许多其他小部件类型中,它使用QTabWidget。我无法设置此对象的背景色样式

我在样式表中尝试了以下几行,从其他论坛帖子中找到的,对程序没有影响

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没有在文档中阐明这一点。。。