我们可以在样式表单中写入属性值作为筛选来过滤,通过设置顶层对象的样式表单来修改子对象的样式表单。如下例子:
*[mandatoryField="true"] { background-color: yellow }
*表示所有的控件,这个地方也可以过滤,例如将*改为QPushButton,只会考虑QPushButton类型的对象。
然后我们可以在程序中设置筛选控件的动态属性用来设置需要的控件的样式。如下例子:
QLineEdit *nameEdit = new QLineEdit(this);
nameEdit->setProperty("mandatoryField", true);
QLineEdit *emailEdit = new QLineEdit(this);
emailEdit->setProperty("mandatoryField", true);
QSpinBox *ageSpinBox = new QSpinBox(this);
ageSpinBox->setProperty("mandatoryField", true);