Loading...
首页专栏正文

针对pushbutton 设置hover阴影

 
1人已赏
big_anana 发布于 2020-12-03 20:15:13 浏览 5849 点赞 974 收藏 25

首先设置按钮得过滤器:

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);
}

如下图所示:

以及:

*本文仅代表作者观点,不代表易百纳技术社区立场。系作者授权易百纳技术社区发表,未经许可不得转载。

精彩评论

内容存在敏感词
打赏
打赏作者
big_anana
您的支持将鼓励我继续创作!
金额:
¥1 ¥5 ¥10 ¥50 ¥100
支付方式:
微信支付
支付宝支付
微信支付
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区