2

我有我的自定义小部件,我在其中定义了我的样式表,如下所示:

QWidget#this { background-color: red; }
QWidget#this:hover { background-color: yellow; }

这在我将鼠标移动到小部件上时有效,但是当我将另一个小部件拖到第一个小部件上时我没有这种行为。

我已经捕获了该DragMove事件,但无法确定发送类似mouseHover事件的内容(MouseMove事件似乎不起作用)。

这可能吗?当我拖动另一个小部件时,还有另一种使用样式表的方法吗?

4

1 回答 1

3

几天前我遇到了同样的问题。尝试为您的小部件定义一个自定义属性,例如拖动,并为您的样式表使用条件:

QWidget#this[dragging=true]{
    background-color: red;
}

更改自定义属性后,您可能需要使用QStyle::polish()来刷新您的小部件样式。

我希望这可以帮助你。

于 2013-11-04T15:06:10.420 回答