我在 Qt 中有一个复合控件,它是一个 QWidget,其 QHBoxLayout 包含 3 个子控件(QWidget > QHBoxLayout > 3 QLabels)。在其中一个控件上,它只是一个显示图标的 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);
}
希望它会在父级的悬停状态下激活,但它什么也不做。
有没有办法纯粹在样式表中做到这一点?
如果没有,有没有办法在代码中将父悬停状态传播给它的子代?