繁体   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