我在 QT 中创建了一些 QLabel 类型的小部件,并将其添加到 QToolbar。我想突出显示光标下的特定小部件。我无法理解我该怎么做。有人可以帮忙吗?我需要有关 QT 4 的这些信息。
谢谢。
最佳答案
你有几种可能性。 首先,作为 QLabel 的子类,您可以处理 mouse events直接在你的类里面。 确保使用 QWidget::setMouseTracking() 来启用它。 在这种情况下,你可以用你的控件做任何你想做的事,但你必须 覆盖绘画例程,以便您的类可以以某种特定方式绘制自己。
不幸的是,QLabel 不支持“悬停”样式表状态,因此您不能 使用样式表可以轻松做到这一点。但是,如果您考虑从 QPushButton 继承子类,您可以拥有这个很棒的功能 这样在 CSS 的帮助下你就可以得到很好的高亮效果。 有关 QT 样式表的更多信息,请查看 here .
如果子类化 QPushButton 适合您,那么请查看 here .
只要确保你也像这个简单的例子一样使用悬停状态:
QPushButton:hover {
背景色:黑色;
}
QPushButton:悬停{
背景色:白色;
}
可以找到鼠标事件处理的例子here
关于c++ - Qwidget,如何高亮光标下的widget,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1599771/