在我的qss样式表中,我定义了背景颜色。
#sw_MainMiddle {
background: black;
}一切都很好,但是当我将滚动QScrollArea放在sw_MainMiddle小部件中时,背景色就消失了。显然,没有机会直接为QScrollArea分配背景。以下代码不起任何作用:
QScrollArea {
background: black;
}根据这个问题,我使用对象名称选择器将背景色重新分配到滚动区域,也没有效果:
#myScrollArea {
background: black;
}我做错什么了吗?
发布于 2014-10-02 19:06:10
我想我找到了解决办法:
QAbstractScrollArea #scrollAreaWidgetContents {
background-color: black;
}其中,scrollAreaWidgetContents是滚动区域中的小部件:

来自QSS参考页
QAbstractScrollArea的所有派生类,包括QTextEdit和QAbstractItemView (所有项视图类),都支持使用背景附件的可滚动背景。将背景-附件设置为“固定”提供了不随视图滚动的背景图像。当滚动条移动时,将背景附件设置为滚动,滚动背景图像. 有关示例,请参见定制QAbstractScrollArea。
因此,您不能自定义所有QAbstractScrollArea或所有QScrollAreas,只有包含它们的小部件(例如QTextEdit)。这就是为什么QScrollArea { background-color: black; }不能工作的原因。但是,如果您想要自定义包含滚动区的特定小部件,那么这个解决方案就足够了。
https://stackoverflow.com/questions/26129660
复制相似问题