2014-09-30 88 views
2

在我的QSS样式表我定义背景色QScrollArea清除背景色

#sw_MainMiddle { 
    background: black; 
} 

一切都很好,但是当我把滚动QScrollAreasw_MainMiddle小部件,背景色消失。显然,没有机会直接给QScrollArea分配背景。下面的代码没有任何影响:

QScrollArea { 
    background: black; 
} 

根据this question我已经使用对象名称选择重新分配的背景色的滚动区域,没有效果:

#myScrollArea { 
    background: black; 
} 

任何事情我做错了?

回答

2

我想我找到了解决办法:

QAbstractScrollArea #scrollAreaWidgetContents { 
    background-color: black; 
} 

其中scrollAreaWidgetContents是滚动区域内的小部件:

enter image description here

QSS Reference Page

的所有衍生QAbstractScrollArea,包括QTextEdit和 QAbstractItemView(所有项目视图类),支持使用background-attachment的可滚动 背景。将 background-attachment设置为fixed会提供一个背景图像, 不会与视口一起滚动。将背景附件设置为 滚动,滚动条移动时滚动背景图像。

查看Customizing QAbstractScrollArea为例。

所以,你不能自定义,让我们说所有的QAbstractScrollArea秒或全部QScrollArea S,仅包含它们(例如QTextEdit)的部件。这就是为什么QScrollArea { background-color: black; }不起作用。但是,如果您想自定义包含滚动区域的小部件,则此解决方案应该足够。

+0

不错,谢谢! – 2014-10-03 15:58:04