Ale*_*aru 6 c++ user-interface qt widget shadow
我想知道如何在Qt中的小部件(不是主要小部件,比如标签.)下绘制阴影.我需要使用样式表还是我会编写它(用C++编写)?
假设您有一个要从中投射阴影的表单和标签.
您可以像这样使用QGraphicsDropShadowEffect:
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;
effect->setBlurRadius(5);
effect->setXOffset(5);
effect->setYOffset(5);
effect->setColor(Qt::black);
label->setGraphicsEffect(effect);
Run Code Online (Sandbox Code Playgroud)
效果将是:

这种效果的缺点是,如果将其应用于窗口小部件,其所有子窗口都将继承它.如果将效果应用于具有大量小部件的窗口小部件,则可能会出现问题,因为这可能会减慢渲染时间.但对于你的例子,这是完全正常和推荐.
有关Qt检查效果的更多信息,还可以从中派生QGraphicsEffect类QGraphicsDropShadowEffect.