![](/img/trans.png)
[英]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.