Qt窗口阴影效果

qt中,一些弹窗我们期望有一个阴影的效果。我们可以在ui界面中,对整个窗口的边缘预留10px,然后在构造函数中设置一下的代码,当然还要设置透明属性,然后即可实现。

// 创建阴影效果
    QGraphicsDropShadowEffect *shadowEffect = new QGraphicsDropShadowEffect(this);
    shadowEffect->setColor(Qt::gray); // 阴影颜色
    shadowEffect->setOffset(0, 0);    // 阴影偏移
    shadowEffect->setBlurRadius(10.0); // 模糊半径

注意,如果该窗口并非一次性弹窗,而是存在展开收起,类似某种可展开的工具条,这种情况下描绘的阴影,可能会导致窗体刷新异常(我有遇到过,比如窗口收起的时候,原本的窗口区域还有图像残留,即便我已经delete了shadowEffect ,这一点我尚未解决)

说到底,用代码来描绘阴影只是其中一种方式,我们可以将窗体置为透明,填充实现准备的带有阴影的背景图片,当然这个肯定不够灵活。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值