[英]How does a Qt custom widget notify ScrollArea parent about change of view
[英]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.