QT部件透明阴影效果和透明窗体

 

 

透明效果

1.设置整个窗体透明

调用setWindowOpacity( )方法,传入一个0~1之间的值来表示透明度;1表示不透明,0表示完全透明,在构造函数中添加

setWindowOpacity(0.5);//0~1之间

2.设置窗体透明,部件不透明

在构造函数中添加

//设置窗体透明
this->setAttribute(Qt::WA_TranslucentBackground, true);
//设置无边框
this->setWindowFlags(Qt::Window | Qt::FramelessWindowHint);

3.组件设置透明

在构造函数中添加

QGraphicsOpacityEffect *opacityEffect=new QGraphicsOpacityEffect;
opacityEffect->setOpacity(0.5);
ui->pushButton->setGraphicsEffect(opacityEffect);

4.paintEvent( )方法设置透明

//重写paintEvent方法,是实现窗体半透明
void MainWindow::paintEvent(QPaintEvent *event)
{
    QPainter painter(this);
    painter.fillRect(rect(),QColor(255,255,255,50));
}

 

阴影效果

1.通过QGraphicsDropShadowEffect类来设置

在构造函数中添加

QGraphicsDropShadowEffect *shadowEffect= new QGraphicsDropShadowEffect;
shadowEffect->setColor(QColor(100,100,100));//设置阴影颜色
shadowEffect->setBlurRadius(20);//设置阴影模糊半径
shadowEffect->setOffset(20);//设置阴影偏移值
ui->pushButton->setGraphicsEffect(shadowEffect);

 

 

 

 

 

转 : https://blog.csdn.net/OO_SEN/article/details/114322154

https://blog.csdn.net/qq_54169998/article/details/128533843

 

posted @ 2023-10-12 14:59  与f  阅读(23)  评论(0编辑  收藏  举报