我在QT中创建了一些QLabel类型的小部件,并将其添加到QToolbar中。我想突出显示光标下的特定小部件。我无法理解我该怎么做。有人可以帮忙吗?我在QT 4上需要这些信息。
感谢。
答案 0 :(得分:9)
你有几种可能性。 首先,当你继承QLabel时,你可以直接在你的类中处理mouse events。 确保使用QWidget :: setMouseTracking()来启用它。 在这种情况下,您可以随心所欲地执行任何操作,但您必须这样做 覆盖绘制例程,以便您的类可以以某种特定方式绘制自己。
不幸的是QLabel不支持“悬停”样式表状态,所以你不能 使用样式表轻松完成。但是,如果你考虑从QPushButton继承,你可以拥有这个奇妙的功能 这样在CSS的帮助下你就可以获得很好的高效效果。 有关QT中样式表的更多信息,请查看here。
如果您对QPushButton进行子类化很好,那么请查看here。
只需确保你也像这个简单的例子一样使用悬停状态:
QPushButton:hover {
background-color: black;
}
QPushButton:hover {
background-color: white;
}
QPushButton:hover {
background-color: black;
}
QPushButton:hover {
background-color: white;
}
可以找到鼠标事件处理的示例here