Sta*_*ton 0 c++ qt qtabwidget qstylesheet
我有一个 Qt 应用程序,在许多其他小部件类型中,它使用 QTabWidget。我很难为这个对象设置背景颜色的样式。
我在我的样式表中尝试了从其他论坛帖子中找到的以下一些行,但对程序没有影响
QTabWidget { background-color: black; }
QTabWidget::pane { background-color: black; }
QTabWidget#tabWidget { background-color: black; }
QTabWidget#tabWidget::pane { background-color: black; }
Run Code Online (Sandbox Code Playgroud)
如果我使用QWidget { background-color: black; },那么是的,我的颜色已正确更改,但是我程序中的所有其他小部件也已更改...所以这不是我要找的...
我也在代码中尝试过,ui->tabWidget->setStyleSheet("background-color: black");但这也是不可取的,因为它改变了所有子小部件的背景颜色。
有没有人对如何设置 QTabWidgets 内容背景区域的样式有任何其他想法?
小智 7
大约晚了一年,但我最近遇到了同样的问题并让它工作了。
首先,QTabWidget 为您制作的每个选项卡都有一个子 QWidget。这是您将其他小部件放入的区域,这就是您要设置背景颜色的区域。
通过这样做设置样式表。
1)从右上角的设计对象窗口确定选项卡小部件的名称,它们应与您在创建选项卡时设置的 currentTabName 匹配。
2)意识到这是一个 QWidget 而不是 QTabWidget 这就是为什么QTabWidget { background-color: black; }不起作用。
3) 意识到通过在样式表中用“#”指定对象,子对象不会继承样式表。
对我来说,我指定了我的样式表,为我拥有的每个选项卡对象名称重复:
#objectName {background-color: rgb(240,240,240);}
Run Code Online (Sandbox Code Playgroud)
这为我提供了我需要的确切行为。在我的例子中,我想在我的标签页上获得自然的灰色背景,但不覆盖标签页上的子组件。
我希望这对将来的某人有所帮助...
| 归档时间: |
|
| 查看次数: |
2518 次 |
| 最近记录: |