c++ - Qwidget,如何高亮光标下的widget

标签 c++ qt

我在 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/

相关文章:

c++ - 可观察

c++ - 运算符重载困惑C++

c++ - 在没有 std 和 std::strings 的情况下以 printf 方式创建 QString

c++ - QProcess 没有完成创建文件

c++ - QPrintDialog : Disable Print Button

user-interface - 为时间紧迫的(可能)Qt 项目寻找编程挑战(面试级别)

c++ - 不兼容的 var 类型

c++ - Allegro/VS 设置中缺少 MSCVR110d.dll

c++ - Qt/C++检测QPushButton悬停播放声音

c++ - 带有可选图形用户界面的 Qt 应用程序