C++ Qwidget,如何突出显示光标下的小部件

C++ Qwidget,如何突出显示光标下的小部件,c++,qt,C++,Qt,我在QT中创建了一些QLabel类型的小部件,并将其添加到QToolbar中。我想突出显示光标下的特定小部件。我无法理解我是如何做到这一点的。有人能帮忙吗?我需要Qt4上的这个信息 谢谢。您有几种可能性。 首先,作为QLabel的子类,可以直接在类中处理。 确保使用QWidget::setMouseTracking()启用此功能。 在这种情况下,你可以用你的控制做任何你想做的事情,但你必须这样做 重写绘制例程,以便类可以以某种特定的方式绘制自身 不幸的是,QLabel不支持“悬停”样式表状态,因

我在QT中创建了一些QLabel类型的小部件,并将其添加到QToolbar中。我想突出显示光标下的特定小部件。我无法理解我是如何做到这一点的。有人能帮忙吗?我需要Qt4上的这个信息


谢谢。

您有几种可能性。 首先,作为QLabel的子类,可以直接在类中处理。 确保使用QWidget::setMouseTracking()启用此功能。 在这种情况下,你可以用你的控制做任何你想做的事情,但你必须这样做 重写绘制例程,以便类可以以某种特定的方式绘制自身

不幸的是,QLabel不支持“悬停”样式表状态,因此您无法 使用样式表轻松完成。但是,如果你考虑QPushButton的子类,你可以拥有这个奇妙的特性。 因此,在CSS的帮助下,您可以获得很好的增强效果。 有关QT look中样式表的详细信息

如果子类化QPushButton适合您,那么请查看。 只需确保您也使用悬停状态,如以下简单示例中所示:


有关鼠标事件处理的示例,请参见

Hi,谢谢您的回答。您能给我指一下QLabel处理鼠标事件的具体例子吗。我还尝试使用QPushButton,但它显示了一些帧和所有帧,这是我不想要的,这就是我使用QLabel的原因。但请给我指出一些QPushButton的示例代码。谢谢。您不能自己绘制,只需在“鼠标输入/鼠标离开”事件中更改调色板的背景色即可。这应该足够了。
QPushButton:hover {
     background-color: black;
 }
QPushButton:hover {
     background-color: white;
 }