因为重名问题使用一个qss会冲突, 所以我尝试了使用多个qss文件, 在各自的构造函数中使用shis->setStyleSheet(qss); 来加载不同的qss文件. 但是发现还是会出现问题, 个别的控件属性还是会和其他类中同名的控件样式相同(这点百思不得其解), 那么, 多个ui文件时该如何使用qss文件呢?(我觉得改名应该不是很妥当的方法)
------解决思路----------------------
designer里不是每个窗口都有自己的StyleSheet么
------解决思路----------------------
用setObjectName决定哪些控件要使用样式,哪些不要
------解决思路----------------------
简单来说,不要用this->setStyleSheet()
父窗体和子窗体如果同时存在一个Widget的控件
那么父窗体使用this->setStyleSheet(QSS),那么子窗体的Widget的样式自然也就会被父窗体Widget样式覆盖掉
建议是每个控件都不要重名,加上窗体名前缀区分
然后QSS里用#【控件名】进行约束,而不是QWidget{}这样来设置样式
如果已经开发到了一定程度,修改控件名的代价太大,那就删掉全部的this->setStyleSheet(),然后每个控件单独setStyle(qss)来补救了,虽然烦,但是这是唯一办法