label->style()->unpolish(ui->label);//删除旧样式ui->label->style()->polish(ui->label);//设置新样式_qt setproperty后">
赞
踩
如果想要一个控件在不同的情况下使用不同的样式,一般直接setProperty是没有效果的。
需要在setProperty后再加上unpolish和polish刷新一下,顺序不能反。
ui->label->setProperty("lbStyle", "red");
ui->label->style()->unpolish(ui->label);//删除旧样式
ui->label->style()->polish(ui->label);//设置新样式
ui->label->setProperty("lbStyle", "blue");
ui->label->style()->unpolish(ui->label);
ui->label->style()->polish(ui->label);