只记录本人遇到的,情况往往多变,本文没有涉及的请再自行查找。
仅作整理记录方便日后再用。
问题描述:
Groupbox里面包含了一个stackedWidget,stackedWidget里面放了一个pushbutton,在GroupBox中设置stackedWidget的背景属性设置不上。
单独用stackedWidget设置也设置不上。稍微调整之后只能改变某一页的。最后搞了个循环循环设置每一页才将所有页设置上的。
1. 最初代码
ui->groupBox->setStyleSheet(
"QGroupBox {"
"background-color: rgb(240,243,248);"
"}"
"QStackedWidget {"
"background-color: rgb(240,243,248);"
"}"
"QPushButton {"
"border-style: solid;"
"border-radius: 10px;"
"border-color: rgb(211,232,254);"
"border-width: 2px;"
"background-color: rgb(217,237,252);"
"color: rgb(56,78,119);"
"font: 12pt SimHei;"
"}"
);



可以看到只有第1页上的pushbutton属性被改变了,第0页和第2页的没有被改变。
也可以看到stackedWidget的背景颜色,每一页都没被设置,还是白色。
2. 把stackedWidget加作用的范围(使用 > QWidget)
ui->groupBox->setStyleSheet(
"QGroupBox {"
"background-color: rgb(240,243,248);"
"}"
"QStackedWidget > QWidget {"
"background-color: rgb(240,243,248);"
"}"
"QPushButton {"
"border-style: solid;"
"border-radius: 10px;"
"border-color: rgb(211,232,254);"
"border-width: 2px;"
"background-color: rgb(217,237,252);"
"color: rgb(56,78,119);"
"font: 12pt SimHei;"
"}"
);



可以看到第1页上的stackedWidget的背景颜色改变了,pushbutton属性也改变了,但第0页和第2页的还是没有被改变。
3. 循环设置每一页
ui->groupBox->setStyleSheet(
"QGroupBox {"
"background-color: rgb(240,243,248);"
"}"
"QPushButton {"
"border-style: solid;"
"border-radius: 10px;"
"border-color: rgb(211,232,254);"
"border-width: 2px;"
"background-color: rgb(217,237,252);"
"color: rgb(56,78,119);"
"font: 12pt SimHei;"
"}"
);
for (int i = 0; i < ui->stackedWidget->count(); ++i) {
ui->stackedWidget->widget(i)->setStyleSheet("QStackedWidget > QWidget {"
"background-color: rgb(240,243,248);"
"}"
);
}



可以了,问题解决了
再次重申,只记录本人遇到的,情况往往多变,本文没有涉及的请再自行查找。
仅作整理记录方便日后再用。
749

被折叠的 条评论
为什么被折叠?



