#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]]