簡體   English   中英

Mac OS X上的QScrollArea透明背景

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM