Qt窗口实现圆角阴影效果

本文分享了在Qt中如何实现窗口圆角和阴影效果。通过创建嵌套的QWidget,将外层设置为透明,内层设置特定样式,达到预期的UI设计,最终展示出具有圆角和阴影的美观效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

相比于html等网页绘图,可能QT实现透明圆角比较麻烦一些。首先我们需要,做一个嵌套的QWidget,UI效果如下,两个QWidget之间有一定的margin:

设置了嵌套的QWidget之后,我们将外层的QWidget设置为透明,然后内层的QWidget样式设置为圆角阴影。

//主要方法是嵌套widget外层的widget设置为透明
//然后内层的widget设置对应的border圆角
//之后再在内层的widget中设置阴影
#include <QGraphicsDropShadowEffect>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //设置窗口为无边框窗口且显示在最上层
	//在任务栏上不显示图标
    setWindowFlags(Qt::FramelessWindowHint|Qt::Tool|Qt::WindowStaysOnTopHint);

    //外层窗口显示为透明
    setAttribute(Qt::WA_TranslucentBackground,true);

    //内层窗口添加对应的阴影效果
    QGraphicsDropShadowEffect *shadow_e
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农飞飞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值