obsidian/笔记文件/2.笔记/Qt图形特效:QGraphicsDropShadowEffect.md

62 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2025-03-26 00:02:56 +08:00
#qt
一、描述
QGraphicsDropShadowEffect类提供投影效果。投影效果使用放置投影渲染源。
二、成员属性
1、blurRadius : qreal。此属性保存投影的模糊半径(像素)。使用较小的半径产生更清晰的阴影而使用较大的半径产生更模糊的阴影。默认情况下模糊半径为1像素。
2、color : QColor。此属性保存投影的颜色。默认情况为半透明的深灰色(QColor(63, 63, 63,180))。
3、offset : QPointF。此属性以像素为单位保存阴影偏移量。默认情况下偏移量是向右下方8像素。
4、xOffset : qreal。此属性保存水平阴影偏移量(以像素为单位)。默认情况下水平阴影偏移量是8像素。
5、yOffset : qreal。此属性保存垂直阴影偏移量(以像素为单位)。默认情况下垂直阴影偏移量是8像素。
三、效果
1、默认效果
``` cpp
QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect(this);
ui->pushButton->setGraphicsEffect(effect);
```
![[Pasted image 20240806193036.png]]
2、红色阴影
``` cpp
effect->setColor(Qt::red);
```
3、阴影偏移
``` cpp
effect->setOffset(15,15);
effect->setOffset(-15,15);
effect->setOffset(15,-15);
effect->setOffset(-15,-15);
//无偏移
effect->setOffset(0,0);
effect->setBlurRadius(15);
```
4、模糊半径
``` cpp
effect->setBlurRadius(15);
```
5、一个发光效果
``` cpp
QGraphicsDropShadowEffect * effect = new QGraphicsDropShadowEffect(this);
effect->setColor(Qt::red);
effect->setOffset(0,0);
effect->setBlurRadius(15);
ui->pushButton->setStyleSheet(".QPushButton{background-color:#FFFFFF;border-radius:6px;}");
ui->pushButton->setGraphicsEffect(effect);
```
![[Pasted image 20240806193120.png]]