62 lines
1.8 KiB
Markdown
62 lines
1.8 KiB
Markdown
![]() |
#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]]
|