簡體   English   中英

Qt如何更改mainWindow中每個滾動區域的widgetContents-widget的樣式表?

[英]Qt How to change stylesheet of the widgetContents-widget of every scrollarea in mainWindow?

在Qt中,我不僅可以設置QScrollArea的樣式(我只想設置背景色),還必須設置每個滾動區域的widgetContents-widget的樣式,例如:

// qss code
QScrollArea #scrollAreaWidgetContents_1, #scrollAreaWidgetContents_2, ...{
    background-color: MYCOLOR;
}

問題:如何設置mainWindow的樣式表,以便每個滾動區域的widgetContents-widget更改其背景顏色,而無需像示例中那樣手動調用它們? 感謝您的回答!

如果您不在其他地方使用小部件的對象名,則可以為所有這些對象設置一個公共對象名:

auto* content = new QWidget();
content->setObjectName("scrollAreaWidget");
auto* scrollArea = new QScrollArea();
scrollArea->setWidget(content);

然后從qss像這樣解決它們:

QWidget#scrollAreaWidget
{
    background-color: white;
}

如果這不是選項,則可以嘗試將QWidget子類化,然后將樣式應用於新類。 我沒有嘗試過這種方法,但是看來 ,您可能會在這里遇到一些困難。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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