是否可以根据父母的动态属性为孩子设置样式?

时间:2016-12-07 15:06:40

标签: c++ css qt qtstylesheets

我有一个用QtCreator设计的QWidget,它包含3个子窗口小部件(2个Qlabels和一个QComboBox)。是否可以向父窗口小部件添加动态属性,以便使用样式表设置子窗口小部件(不向子项添加动态属性)

这是小部件在选中时的样子是假的 this is what the widget looks like when selected is false

所有背景都应该是红色的,而不仅仅是主要的小部件。

void widget::mousePressEvent(QMouseEvent*)
{
    bool sel = !select; // the widget class contains the select member
    setProperty("selected",QVariant(sel));
    style()->unpolish(this);
    style()->polish(this);
}

CSS

QWidget[selected=false]
{
background: red;
}

QWidget[selected=true] 
{
background: blue
}

此方法仅设置自定义窗口小部件的背景,但不设置成员的背景。我想为所有成员设置背景。是否可以不为所有孩子设置动态属性?

0 个答案:

没有答案