我现在有一个父窗口是QWidget,里面有很多QLabel控件,希望实现QWidget的边缘阴影。
找了各种方法paintEventgraphics等等,要么没有效果,要么就是整个父窗口QWidget变透明,要么就是父窗口背景变黑。
比如这种
void initWidget(int w, int h)
{
mainWidget->resize(w, h);
mainWidget->setStyleSheet("QWidget{background-color: rgb(255, 255, 255);}");
mainWidget->setAutoFillBackground(true);
mainWidget->setWindowFlags(Qt::FramelessWindowHint);
mainWidget->setAttribute(Qt::WA_TranslucentBackground);
}
QGraphicsDropShadowEffect *wndShadow = new QGraphicsDropShadowEffect;
wndShadow->setBlurRadius(9.0);
wndShadow->setColor(QColor(0, 0, 0, 160));
wndShadow->setOffset(4.0);
mainWidget->setGraphicsEffect(wndShadow);
我想就实现一个QWidget父窗口边缘阴影的效果
请教下大家,谢谢!!!
看看这里 Qt实现360安全卫士9.2界面