代码很简单,效果很炫酷
QGraphicsDropShadowEffect * shadow = new QGraphicsDropShadowEffect();
//渲染的像素点
shadow->setBlurRadius(30);
//渲染的颜色
shadow->setColor(Qt::gray);
//渲染相对于组件的偏移
shadow->setOffset(10);
ui->widget->setGraphicsEffect(shadow);
效果图
有个缺点就是不能用于主窗口,因为主窗口是顶级窗口,无法在他的外部再添加东西。
亡羊补牢
this->setAttribute(Qt::WA_TranslucentBackground);
将主窗口设置为透明
效果图
主窗口是没了,但是主窗口上的其他控件都跟悬浮了一样,当然你可以把btn放在子控件上。