QGraphicsDropShadowEffect添加投影

来源:微信公众号「编程学习基地」

QGraphicsDropShadowEffect类提供了一个投影效果。

投影效果将源渲染为投影。投影的颜色可以使用setColor()函数修改。投影偏移可以使用setOffset()函数修改,投影的模糊半径可以使用setBlurRadius()函数修改。

默认情况下,投影是半透明的深灰色(QColor(63,63,63,180))阴影,模糊半径为1,向右下角偏移8像素。投影偏移量在设备坐标中指定。

给控件添加投影

QLabel* pLabel = new QLabel("ABCDEFG");
pLabel->setParent(this);
pLabel->setGeometry(10,10,50,50);
pLabel->setStyleSheet("font-size:30px;");
QGraphicsDropShadowEffect* shadowEffect = new QGraphicsDropShadowEffect(pLabel);
shadowEffect->setOffset(0, 0);      //阴影偏移
shadowEffect->setColor(Qt::black);  //阴影颜色;
shadowEffect->setBlurRadius(10);    //阴影半径;
pLabel->setGraphicsEffect(shadowEffect);    //给窗口设置上当前的阴影效果;

效果对比

请添加图片描述

请添加图片描述

Widget无标题栏阴影效果

拖动一个CenterWidget到主Widget

请添加图片描述

初始化添加如下代码即可

	ui->centerWidget->setStyleSheet("QWidget#centerWidget{ border-radius:4px; background:rgba(255,255,255,1); }");

    this->setWindowFlags(Qt::FramelessWindowHint);          //去掉标题栏
    this->setAttribute(Qt::WA_TranslucentBackground,true);  //无边框
    //实例阴影shadow
    QGraphicsDropShadowEffect *centerShadow = new QGraphicsDropShadowEffect(this);
    //设置阴影距离
    centerShadow->setOffset(0, 0);
    //设置阴影颜色
    centerShadow->setColor(QColor(39,40,43,100));
    //设置阴影圆角
    centerShadow->setBlurRadius(10);
    //给嵌套QWidget设置阴影
    ui->centerWidget->setGraphicsEffect(centerShadow);

效果如下

登录界面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DeRoy

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

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

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

打赏作者

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

抵扣说明:

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

余额充值