[英]QScrollArea transparent background on MacOS X
我在使QScrollArea
內容不繪制背景時QScrollArea
問題。
所以這是當我不應用樣式表時的初始圖片: 您會看到,滾動區域的內容比整個框架的內容更暗。
我找到了可以應用於滾動區域的樣式表,因此背景是透明的。 這是我使用的樣式表:
QScrollArea { background: transparent; }
QScrollArea > QWidget > QWidget { background: transparent; }
問題是當我這樣做時,scrollarea的滾動條變得混亂了:
你看? 現在,滾動條始終可見,並且丑陋且透明。
在將樣式表應用於QScrollArea
同時,如何使樣式表不影響滾動條? 還是我應該應用哪些不同的樣式表?
嘗試為滾動區域視口設置對象名稱:
pScrollArea->viewport()->setObjectName("myViewport");
然后使用樣式表中的hashtag屬性解決該問題(也要添加分組框,因為我在屏幕截圖中看到的方式也是如此,您的目標是也使它們透明):
QScrollArea, #myViewport, QGroupBox {
background: transparent;
}
問題在於QScrollBar是QWidget的子類,因此只需使用該規則定位視口即可:
pScrollArea->setStyleSheet("QScrollArea { background: transparent; }");
pScrollArea->viewport()->setStyleSheet(".QWidget { background: transparent; }");
注意QWidget之前的點,因此不要以視口的任何子對象為目標(即,作為QWidget子類的任何視口內容)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.