我有一个包含一些按钮的QWidget
,还有一些QWidgets
,如何使样式表应用于QWidget
父级以影响only及其QWidget
子级?
我尝试过的一些选择:
QWidget[objectName!="widget_1"] {
max-width: 200;
max-height: 200;
}
QWidget > QWidget {
max-width: 200;
max-height: 200;
}
QWidget QWidget {
max-width: 200;
max-height: 200;
}
在所有选项中,样式也应用于父选项。
我正在读选择器类型:https://doc.qt.io/qt-6/stylesheet-syntax.html#selector-types
但我还是想不出怎么做。
发布于 2022-11-07 15:51:39
例如,如果您有这样的UI:
您可以使用#ObjectName
**. 对特定对象进行样式设置。像这样:**
QPushButton#pb_1,#pb_2 {
min-width: 100;
min-height:100;
background-color: rgb(115, 210, 22);
}
QWidget #widget_1
{
background-color: rgb(252, 233, 79);
}
QWidget#widget_1,#widget_2
{
border:2px solid red;
}
--这是结果:
您也可以为特定按钮添加Widget样式,因为QPushButton
继承自 QWidget
**.**
喜欢
QWidget#widget_1,#widget_2,#pb_1
{
border:2px solid red;
}
您可以将样式添加到所有的QWidgets
中,然后通过调用它的名称并为父级设置如下所示的不同样式来调用其父级:
QWidget {
border:2px solid red;
}
QWidget#centralwidget {
border-style:none;
}
发布于 2022-11-10 18:13:24
为父小部件指定一个对象名,并设置如下样式表:
#parentWidget QWidget {
/* your styles */
}
此样式表将QWidget
的所有实例与objectName parentWidget
匹配,这些实例是QObject
的后代(子、孙辈等),您还可以在“#parentWidget”之前指定小部件的类。注意,几乎所有的小部件都是从QWidget
类继承的。因此,样式也将适用于他们。
如果要将样式设置为直接子程序,请使用以下命令:
#parentWidget > QWidget {
/* your styles */
}
如果只希望QWidgets
获得样式(排除继承),请使用以下命令:
/* for all descendants */
#parentWidget .QWidget {
/* your styles */
}
/* for all direct children */
#parentWidget > .QWidget {
/* your styles */
}
在此屏幕上,仅应用于QWidget
的屏幕样式。在最右边的是QFrame
,它没有收到样式。
https://stackoverflow.com/questions/74312500
复制相似问题