在我的qss样式表中,我定义了背景颜色
#sw_MainMiddle {
background: black;
}
一切都很好,但是当我在QScrollArea
窗口小部件中放置滚动sw_MainMiddle
时,背景颜色消失了。显然,没有机会直接将背景分配给QScrollArea
。下面的代码没有效果:
QScrollArea {
background: black;
}
根据this question我使用对象名称选择器将背景颜色重新分配给滚动区域,也没有效果:
#myScrollArea {
background: black;
}
我做错了什么?
答案 0 :(得分:2)
我想我找到了解决方案:
QAbstractScrollArea #scrollAreaWidgetContents {
background-color: black;
}
其中scrollAreaWidgetContents
是滚动区域内的小部件:
QAbstractScrollArea的所有派生词,包括QTextEdit和 QAbstractItemView(所有项目视图类),支持可滚动 背景使用背景附件。设置 background-attachment to fixed提供了一个背景图像 不要使用视口滚动。将背景附件设置为 滚动,滚动条移动时滚动背景图像。
有关示例,请参阅Customizing QAbstractScrollArea。
因此,您无法自定义所有QAbstractScrollArea
个或所有QScrollArea
个,只包含包含它们的小部件(例如QTextEdit
)。这就是QScrollArea { background-color: black; }
无效的原因。但是,如果要自定义包含滚动区域的特定小部件,则此解决方案应该足够了。