qss书写格式

this->setStyleSheet("QPushButton {background: red;}");
this->setStyleSheet("QLabel {background: green;}");

错误!程序只会执行第二条代码的内容,第二个样式会将第一个样式覆盖。

this->setStyleSheet("QPushButton {...};\
                     QLabel {...};");

错误!小括号中的两个分号,第二个也就是样式中最后的那个分号可有可无。第一个分号在这种情况下不能使用,添加后将只执行第一条样式。

this->setStyleSheet("background: red;\
                     QLabel {...};");

正确!若小括号中的第一个分号去掉的话,则整个样式失效。

QPushButton *pushBtn = new QPushButton();
pushBtn->setStyleSheet("background: red;");

pushBtn的子控件会继承这条样式,例如toolTip等。

QPushButton *pushBtn = new QPushButton();
pushBtn->setStyleSheet("QPushButton {background: red;}");

pushBtn的样式不会被子控件继承,且只有pushBtn会执行这条样式。

QPushButton *pushBtn = new QPushButton();
this->setStyleSheet("QPushButton {background: red;}");

在这个类中生成或相关ui文件中所有的QPushButton都会执行这条样式,未单独设置background样式的除外

你可能感兴趣的:(qss书写格式)