首页 新闻 搜索 专区 学院

QT中用设置Qwidget样式时其里面的widget样式也被更改了,如何避免。

0
悬赏园豆:10 [已解决问题] 解决于 2020-12-09 16:48

如上图,我想更改一下serchpage这个Qwidget的背景和圆角但是却让serchpage里面的widget也一同被更改了,我该如何避免这种情况的发生,求解?

Wb同学在此的主页 Wb同学在此 | 初学一级 | 园豆:4
提问于:2020-11-15 13:38
< >
分享
最佳答案
1

使用对象过滤器,各写各的样式

ui->searchpage->setStyleSheet(QWidget#searchpage{"background-color:gray;"
...
...
};
ui->widget_3->setStyleSheet(QWidget#widget_3{"background-color:gray;"
...
...
};

最后建议写QSS样式的时候写到一个文件内,再统一设置,避免把setStyleSheet写的到处都是

QFile file("stytle.qss");
if(!file.open(QIODevice::readOnly))
{
    return;
}
QString string = QString::fromLatin1(file.readAll());
qApp->setStyleSheet(string );
收获园豆:10
咸鱼Doyoung | 菜鸟二级 |园豆:220 | 2020-11-17 00:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册