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、

本文是QT学习笔记的第十二部分,主要介绍如何设置透明窗体。通过自定义My_Widget类,继承自QWidget,并在源文件中添加相应代码,实现了窗体的透明效果。文章展示了设置透明后的3种不同效果。
:透明窗体设置&spm=1001.2101.3001.5002&articleId=100041448&d=1&t=3&u=163f4a1db06a41d8a53d6b1f9fef8c0e)
9万+

被折叠的 条评论
为什么被折叠?



