首先设置按钮得过滤器:
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阴影 https://www.yhzz.com.cn/a/13753.html