我在Qt中有一个复合控件,它是一个包含3个子控件(QWidget > QHBoxLayout > 3 QLabels)的QWidget。其中一个控件只是一个显示图标的QLabel,当光标悬停在整个控件上时,我想要更改它的图标。当实际悬停在该图标上时,我可以使它起作用。
QLabel#stateIcon {
image: url(:/icons/stateNormal);
}
QLabel#stateIcon:hover {
image: url(:/icons/stateHover);
}
然而,我希望当鼠标在整个控件上 任何位置时都能显示悬停图标。
我尝试了类似以下的方法:
QLabel#stateIcon::parent:hover {
image: url(:/icons/stateHover);
}
甚至连
也是
。QLabel#stateIcon::parent::parent:hover {
image: url(:/icons/stateHover);
}
希望它能在父元素的hover状态下激活,但实际上什么也没有发生。 是否有纯样式表的解决方法? 如果没有,是否有一种方式可以通过代码将父级hover状态传递给其子元素?