QT学习笔记(十二):透明窗体设置

本文是QT学习笔记的第十二部分,主要介绍如何设置透明窗体。通过自定义My_Widget类,继承自QWidget,并在源文件中添加相应代码,实现了窗体的透明效果。文章展示了设置透明后的3种不同效果。

QT学习笔记(十二):透明窗体设置

创建 My_Widget 类 基类为QWidget , My_Widget.cpp 源文件中添加代码

#include "widget.h"
#include "ui_widget.h"

#include <QGraphicsDropShadowEffect>

// 构造函数
Widget::Widget(QWidget *parent) : QWidget(parent),ui(new Ui::Widget)
{
    ui->setupUi(this);
    // 1.直接设置整个窗口的不透明度(含全部窗口内容)
    setWindowOpacity(0.5);	// 设置窗口的不透明度为0.5
    // 2.窗体完全透明,部件不受影响
    setWindowFlags(Qt::FramelessWindowHint);
    setAttribute(Qt::WA_TranslucentBackground);
	// 3.通过图形效果实现模糊、阴影和颜色等特殊效果:
    // 创建阴影效果
    QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;
    // 设置阴影颜色
    effect->setColor(QColor(100, 100, 100, 100));
    // 设置阴影模糊半径
    effect->setBlurRadius(2);
    // 设置阴影偏移值
    effect->setOffset(30);
    // 标签部件使用阴影效果
    ui->label  ->setGraphicsEffect(effect);
     // 单个窗口部件透明度设置(创建 QGraphicsOpacityEffect 对象)
    QGraphicsOpacityEffect *effect2 = new QGraphicsOpacityEffect;
    effect2->setOpacity(0.5);	// 设置按钮的不透明度为0.5
    ui->pushButton->setGraphicsEffect(effect2);
}

效果:
1、
在这里插入图片描述

2、
在这里插入图片描述

3、

在这里插入图片描述

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值