Qt QScrollArea清除背景色
在qss样式表中,我定义了背景色Qt QScrollArea清除背景色,qt,qscrollarea,qt5.3,Qt,Qscrollarea,Qt5.3,在qss样式表中,我定义了背景色 #sw_MainMiddle { background: black; } 一切正常,但当我在sw_main middle小部件中放置一个滚动条QScrollArea时,背景色消失了。显然,没有机会将背景直接分配给QScrollArea。以下代码无效: QScrollArea { background: black; } 据了解,我已使用对象名称选择器将背景色重新分配给滚动区域,但也没有效果: #myScrollArea { back
#sw_MainMiddle {
background: black;
}
一切正常,但当我在sw_main middle
小部件中放置一个滚动条QScrollArea
时,背景色消失了。显然,没有机会将背景直接分配给QScrollArea
。以下代码无效:
QScrollArea {
background: black;
}
据了解,我已使用对象名称选择器将背景色重新分配给滚动区域,但也没有效果:
#myScrollArea {
background: black;
}
我做错了什么?我想我找到了解决办法:
QAbstractScrollArea #scrollAreaWidgetContents {
background-color: black;
}
其中scrollAreaWidgetContents
是滚动区域内的小部件:
从:
QAbstractScrollArea的所有衍生产品,包括QTextEdit,以及
QAbstractItemView(所有项目视图类),支持可滚动
背景使用背景附件。设定
固定的背景附件提供了一个背景图像
不随视口滚动。将背景附件设置为
滚动,滚动条移动时滚动背景图像
有关示例,请参见
因此,您不能自定义所有QAbstractScrollArea
s或所有QScrollArea
s,只能自定义包含它们的小部件(例如QTextEdit
)。这就是为什么QScrollArea{背景色:黑色;}
不起作用的原因。但是,如果您想要自定义包含滚动区域的特定小部件,这个解决方案就足够了