| 12345678910111213141516171819202122232425262728293031323334353637383940 | #include "shadowwidget.h"#include <QLayout>#include <QGraphicsDropShadowEffect>#include <QDebug>ShadowWidget::ShadowWidget(QWidget *parent)    : QWidget(parent)    , m_pCentralWidget(new QWidget(this)){    setWindowFlags(Qt::FramelessWindowHint);    setAttribute(Qt::WA_TranslucentBackground);    QHBoxLayout* pLayout = new QHBoxLayout();    if (nullptr != pLayout) {        pLayout->addWidget(m_pCentralWidget);        this->setLayout(pLayout);    }    QGraphicsDropShadowEffect *pShadowEffect = new QGraphicsDropShadowEffect(this);    pShadowEffect->setBlurRadius(16);               // 模糊度    pShadowEffect->setColor(QColor(0, 0, 0, 90));   // 阴影的颜色    pShadowEffect->setOffset(0, 0);                 // 水平和垂直偏移量    m_pCentralWidget->setGraphicsEffect(pShadowEffect);}void ShadowWidget::setCentralLayout(QLayout *layout){    if (nullptr != m_pCentralWidget) {        m_pCentralWidget->setLayout(layout);    }}QLayout* ShadowWidget::getLayout() const{    if (nullptr != m_pCentralWidget) {        return m_pCentralWidget->layout();    }    return nullptr;}
 |