2014-09-30 154 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