我想为我所有的按钮设置一个全局样式表。 这样做是为了像下面这样一个特定的按钮,按预期工作:全局样式表没有完全工作
button->setStyleSheet(QString("QPushButton:focus {") +
"outline: 0;" +
"background-color: #" + BUTTON_HIGHLIGHT_BG_COLOR + "; " +
"color: #" + BUTTON_HIGHLIGHT_TXT_COLOR + "; " +
"}"
);
但是,如果我让全球性的,就像这样:
qApp->setStyleSheet(QString("QPushButton:focus {") +
"outline: 0;" +
"background-color: #" + BUTTON_HIGHLIGHT_BG_COLOR + "; " +
"color: #" + BUTTON_HIGHLIGHT_TXT_COLOR + "; " +
"}"
);
聚焦按钮得到正确的字体颜色,但他们似乎没有背景(尽管我为它们设置的背景与主布局的背景不同)。
BUTTON_HIGHLIGHT_BG_COLOR
和BUTTON_HIGHLIGHT_TXT_COLOR
是颜色的字符串(例如“FF0000”)
可能是因为它适用于特定窗口小部件,但全局失败?
更新:
我跟着@ ThorngardSO答案,并最终通过改变解决了这个问题:
stackedWidget->setStyleSheet("background-color: white;");
到:
stackedWidget->setStyleSheet("QStackedWidget { background-color: white; }");
这是在加载画面(第一屏)
1.我只有2个全球规则,缩小到1,没有帮助。 2.它是一个“groupbox”的孩子,它是一个主窗口的孩子。 3.'groupbox'本身有一个样式表 - 我删除它,另一个是'QLabel'的孩子有一个样式表 - 将其删除。没有帮助。 4.第5号。对我来说奇怪的是,它可以在'button-> setStylesheet ...'上工作,'但不能在'qApp-> setStylesheet'上工作。 –
它工作!在加载屏幕上我有一个'stackedWidget-> setStyleSheet'。我看到现在问题来自哪里。谢谢 –
很高兴它成功了 - 样式表的级联/继承通常会导致起初看起来很奇怪的行为。 – ThorngardSO