在 Qt Designer 中添加 QComboBox 控件时,我得到一个看起来很糟糕的非本机控件:
进一步挖掘,发现两个父控件 QParentWindow 和 QStackedWidget 具有 QComboBox 继承的样式表。如果我删除自定义样式,那么我会得到一个本机 QComboBox,如左侧所示。
如何让 QComboBox(以及一般的小部件)不继承父样式?或者,我如何为 QParentWindow 创建样式,并使其仅是本地的并且不会级联?
我认为你无法阻止它级联。但是通过在样式表中使用更具体的选择器,也许您可以仅为 QParentWindow 类或特定对象定义属性。
您需要定义一个样式,然后将其分配给该对象:
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”是对象名称。这样,组框中的任何内容都会有自己的风格。