在Qt中,我不能只设置QScrollArea的样式(我只想设置背景颜色),我必须为每个scrollarea的widgetContents-widget设置样式,如:
// qss code
QScrollArea #scrollAreaWidgetContents_1, #scrollAreaWidgetContents_2, ...{
background-color: MYCOLOR;
}
问题:如何设置mainWindow的样式表,每个scrollarea的widgetContents-widget都会更改其背景颜色,而不是像示例中那样手动调用它们?谢谢你的回答!
答案 0 :(得分:0)
如果您不在其他地方使用窗口小部件的对象名称,则可以为所有这些设置一个公共对象名称:
stringOFDirection.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
然后从qss中解决这些问题:
auto* content = new QWidget();
content->setObjectName("scrollAreaWidget");
auto* scrollArea = new QScrollArea();
scrollArea->setWidget(content);
如果这不是选项,您可以尝试子类化QWidget#scrollAreaWidget
{
background-color: white;
}
并为新类应用样式。我没有尝试过这种方法,但是it seems,你可能会遇到一些困难。