qt设置鼠标处于按钮之上时按钮高亮
时间: 2023-07-13 22:05:38 浏览: 243
基于QT的高亮圆形按钮
要设置鼠标处于按钮之上时按钮高亮,可以使用Qt的QStyleSheet功能。具体的做法是,在QPushButton上安装事件过滤器,然后在事件过滤器中捕获鼠标移入和移出事件,并设置按钮对应的样式。以下是示例代码:
```cpp
// 在QPushButton上安装事件过滤器
button->installEventFilter(this);
// 实现事件过滤器
bool MyWidget::eventFilter(QObject* obj, QEvent* event)
{
if (obj == button) {
if (event->type() == QEvent::Enter) { // 鼠标移入
button->setStyleSheet("background-color: yellow;"); // 设置样式
} else if (event->type() == QEvent::Leave) { // 鼠标移出
button->setStyleSheet(""); // 恢复样式
}
}
return QWidget::eventFilter(obj, event);
}
```
在这个示例代码中,我们将MyWidget类作为QPushButton的事件过滤器,然后实现了eventFilter函数,捕获鼠标移入和移出事件,并设置按钮的样式。当鼠标移入按钮时,我们将按钮的背景颜色设置为黄色,当鼠标移出按钮时,我们将恢复按钮的原始样式。
阅读全文