我想知道如何在 Qt 中的小部件(不是主小部件,例如标签)下绘制阴影。我需要使用样式表还是需要对其进行编码(用 C++)?
假设您有一个表单和一个标签,想要从中投射阴影。
您可以使用QGraphics 阴影效果 http://qt-project.org/doc/qt-5/qgraphicsdropshadoweffect.html像这样:
QGraphicsDropShadowEffect *effect = new QGraphicsDropShadowEffect;
effect->setBlurRadius(5);
effect->setXOffset(5);
effect->setYOffset(5);
effect->setColor(Qt::black);
label->setGraphicsEffect(effect);
效果将是:
此效果的缺点是,如果将其应用于小部件,则其所有子级都将继承它。如果您将效果应用于具有大量小部件的小部件,这可能会出现问题,因为它可能会减慢渲染时间。但对于你的例子来说,这是非常好的并且推荐的。
有关效果的更多信息Qt
检查Q图形效果 http://qt-project.org/doc/qt-4.8/qgraphicseffect.html所属班级QGraphicsDropShadowEffect
也是衍生出来的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)