首页 > 技术知识 > 正文

首先设置按钮得过滤器:

ui->pushButton->installEventFilter(this);

然后设置事件过滤器,在函数内处理按钮得显示:

bool MainLogin::eventFilter(QObject *obj, QEvent *event) { QGraphicsDropShadowEffect* effect = new QGraphicsDropShadowEffect (); switch (event->type()) { case QEvent::HoverEnter: if(obj == ui->pushButton) effect->setBlurRadius(100); //设置模糊半径为100px effect->setColor(QColor(“#FF39F6”)); //设置阴影颜色 effect->setOffset(5,5); //设置水平和垂直方向的偏移量都为0 ui->pushButton->setGraphicsEffect(effect); //为控件应用特效 break; case QEvent::HoverLeave: if(obj == ui->pushButton) effect->setBlurRadius(0); //设置模糊半径为0px effect->setColor(QColor(“#FF39F6”)); //设置阴影颜色 effect->setOffset(0,0); //设置水平和垂直方向的偏移量都为0 ui->pushButton->setGraphicsEffect(effect); //为控件应用特效 break; default: break; } return QWidget::eventFilter(obj, event); }
<

如下图所示: 针对pushbutton 设置hover阴影

以及: 针对pushbutton 设置hover阴影1

猜你喜欢