您当前的位置: 首页 >  qt

txwtech

暂无认证

  • 4浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QT设置透明窗体

txwtech 发布时间:2022-09-27 20:56:36 ,浏览量:4

QT设置透明窗体

 // setWindowOpacity(0.5);//设置窗口的不透明度0.5,设置整个窗口与部件的透明度
 
    setWindowFlag(Qt::FramelessWindowHint); //窗口透明,隐藏标题,实现透明效果
    setAttribute(Qt::WA_TranslucentBackground);//窗口透明,部件不透明
 
    //创建标签控件的阴影效果
    QGraphicsDropShadowEffect *effect2=new QGraphicsDropShadowEffect;
    //设置阴影颜色
    effect2->setColor(QColor(100,100,100,50));
    //设置阴影模糊半径
    effect2->setBlurRadius(2);
    //设置阴影偏移值
    effect2->setOffset(10);
    //标签部件使用阴影效果
    ui->label->setGraphicsEffect(effect2);
#ifndef MAINWINDOW8_4_H
#define MAINWINDOW8_4_H

#include 

QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow8_4; }
QT_END_NAMESPACE

class MainWindow8_4 : public QWidget
{
    Q_OBJECT

public:
    MainWindow8_4(QWidget *parent = nullptr);
    ~MainWindow8_4();

private:
    Ui::MainWindow8_4 *ui;
protected:
    void paintEvent(QPaintEvent *event);
};
#endif // MAINWINDOW8_4_H
#include "mainwindow8_4.h"
#include "ui_mainwindow8_4.h"
#include 
#include 

MainWindow8_4::MainWindow8_4(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::MainWindow8_4)
{
    ui->setupUi(this);
   // setWindowOpacity(0.5);//设置窗口的不透明度0.5,设置整个窗口与部件的透明度

    setWindowFlag(Qt::FramelessWindowHint); //窗口透明,隐藏标题,实现透明效果
    setAttribute(Qt::WA_TranslucentBackground);//窗口透明,部件不透明
    
    //创建标签控件的阴影效果
    QGraphicsDropShadowEffect *effect2=new QGraphicsDropShadowEffect;
    //设置阴影颜色
    effect2->setColor(QColor(100,100,100,50));
    //设置阴影模糊半径
    effect2->setBlurRadius(2);
    //设置阴影偏移值
    effect2->setOffset(10);
    //标签部件使用阴影效果
    ui->label->setGraphicsEffect(effect2);

}

MainWindow8_4::~MainWindow8_4()
{
    delete ui;
}

void MainWindow8_4::paintEvent(QPaintEvent *event)//重绘实现半透明
{
    QPainter painter2(this);
    painter2.fillRect(rect(),QColor(255,255,255,100));//使用rect()函数获取窗口的内部矩形
    //fillRect可以指定任意的区域,对矩形进行填充
}

关注
打赏
1665060526
查看更多评论
立即登录/注册

微信扫码登录

0.1317s