在Qt Designer中添加QComboBox控件时,我得到了一个非常糟糕的非本机控件:
在进一步挖掘时,事实证明两个父控件QParentWindow和QStackedWidget具有QComboBox继承的样式表。如果我删除自定义样式,那么我会得到一个原生的QComboBox,就像左边那样。
如何让QComboBox(以及通常的小部件)不继承父样式?或者,我怎样才能为QParentWindow创建一个样式,并且这样做只是为了本地而不是级联?
答案 0 :(得分:5)
我认为你不能阻止它级联。但是通过在样式表中使用更具体的selectors,您可能只能为QParentWindow类或特定对象定义属性。
答案 1 :(得分:4)
您需要定义一个样式,然后将其分配给该对象:
QString settingStyle = " QGroupBox#groupBoxSettings {\
background-color: rgb(248,248,248);\
border: 1px solid rgb(170, 170, 255);\
border-radius: 3px;\
border-color:rgb(170, 170, 255);\
}";
ui->groupBoxSettings->setStyleSheet(settingStyle);
这里“groupBoxSettings”是对象名称。这样,组合框中的任何东西都会有自己的风格。