我有一个应用程序,它加载.qss样式文件并将样式表应用于整个应用程序。我的问题是它修改了默认的QGroupBox
样式而不是它的子类,我想在一个地方使用默认样式QGroupBox
。
这是应用程序应用程序范围的一个示例,我试图用默认替换它。
QGroupBox {
border: 0px solid gray;
border-bottom: 1px solid block;
}
我尝试使用
重置样式表_ui->setupUi(this);
_ui->myGroupBox->setStylesheet("");
但这不起作用。从我收集的内容来看,应用程序范围内的样式应该在setupUi()
阶段发生,因此会被空(默认)样式表覆盖。似乎并非如此。
我也尝试过直接从Qt Designer设置它,或者使用qss文件设置它。
myGroupBox {
}
但是,如果我将border-bottom: 1px solid red;
放入qss文件中,则会正确注册并覆盖默认样式。我现在不是默认参数,所以如果需要,我不能手动设置它们。
如果我删除烦人的qss规则,它工作正常,但它在其他50个地方打破了应用程序ui,我很遗憾没有时间重构它。
在重置为默认样式表时,我是否遗漏了某些内容?
感谢。
答案 0 :(得分:0)
您似乎将样式与样式表单混合在一起。这些是不同的野兽。当小部件具有样式表时,它不再由样式机制设置样式,因为通常样式不够灵活,不能被样式表修改,因为它们例如是样式表。依赖于平台提供的图像等。这两种机制是相互排斥的:任何一个都可以控制窗口小部件的外观,但是一旦你使用样式表,它就是全有或全无:样式机制不在图片之外。
只需修改样式表以仅应用于应该应用的组框 - 您可以按名称或名称路径选择它们。