Qt实现组件的阴影效果

代码很简单,效果很炫酷

QGraphicsDropShadowEffect * shadow = new QGraphicsDropShadowEffect();
    //渲染的像素点
    shadow->setBlurRadius(30);
    //渲染的颜色
    shadow->setColor(Qt::gray);
    //渲染相对于组件的偏移
    shadow->setOffset(10);

    ui->widget->setGraphicsEffect(shadow);

效果图

在这里插入图片描述

有个缺点就是不能用于主窗口,因为主窗口是顶级窗口,无法在他的外部再添加东西。

亡羊补牢

this->setAttribute(Qt::WA_TranslucentBackground);
将主窗口设置为透明

效果图

在这里插入图片描述
主窗口是没了,但是主窗口上的其他控件都跟悬浮了一样,当然你可以把btn放在子控件上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt,我们可以通过使用QGraphicsDropShadowEffect类来在仪表盘上添加阴影效果。以下是实现阴影效果的步骤: 1. 首先,在Qt项目包含QGraphicsDropShadowEffect头文件。 2. 创建一个QGraphicsDropShadowEffect对象,可以使用其构造函数创建一个新的阴影效果。 3. 根据需要,可以使用QGraphicsDropShadowEffect类的成员函数设置阴影的参数。例如,可以使用setBlurRadius()函数设置模糊半径,使用setColor()函数设置阴影颜色,使用setOffset()函数设置阴影偏移量等。 4. 将QGraphicsDropShadowEffect对象应用于需要添加阴影效果组件上,例如仪表盘。 5. 最后,将组件显示在Qt的主窗口或其他容器。 以下是一个简单的示例代码,演示了如何在仪表盘上添加阴影效果: ```cpp #include <QtWidgets> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建一个QWidget作为仪表盘 QWidget dashboard; // 设置仪表盘的样式和大小 dashboard.setStyleSheet("QWidget { background-color: black; color: white; }"); dashboard.setFixedSize(200, 200); // 创建一个QGraphicsDropShadowEffect对象 QGraphicsDropShadowEffect shadowEffect; // 设置阴影的参数 shadowEffect.setBlurRadius(10); shadowEffect.setColor(Qt::gray); shadowEffect.setOffset(0, 0); // 将阴影效果应用于仪表盘 dashboard.setGraphicsEffect(&shadowEffect); // 显示仪表盘 dashboard.show(); return app.exec(); } ``` 通过以上步骤,您可以在仪表盘上成功添加阴影效果。您可以根据需要调整阴影的参数,例如模糊半径、颜色、偏移量等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值