在程序的最开始,我已经将QSS文件完全加载到QApplication中:
((QApplication*) QApplication::instance())->setStyleSheet(newStyleSheet);
这在大多数小部件上都能正常工作。
但是当来到Property Selector时,它失败了。例如:
Label#GidParam QLabel[Empty="true"] {
border-image: url(:/some.png);
}
Label#GidParam QLabel[Empty="false"] {
border:1px solid rgb(61,138,244);
}
我用以下内容刷新styleSheet:
label->setProperty("Empty", true);
label->setStyleSheet(label->styleSheet());
没有任何改变。
但是,我发现如果我在创建应用程序主窗口时再次设置styleSheet,它会生效。至于书中所说的C ++ GUI编程与Qt4,QApplication::setStyleSheet() sets a style sheet for the entire application
,我现在真的很困惑。