Qt如何实现界面的阴影效果?

Qt提供了实现阴影效果的类QGraphicsDropShadowEffect,它的基类是QGraphicsEffect。


QWidget和QGraphicsItem实现特效使用setGraphicsEffect,参数为QGraphicsEffect的指针。


QGraphicsDropShadowEffect阴影效果提供三个可设置的属性:阴影颜色、模糊半径和偏移。

  1. setColor设置阴影颜色,传入一个QColor对象。

  2. setBlurRadius设置模糊半径。

  3. setOffset设置阴影偏移量,第一个参数为x轴方向偏移量,第二个参数为y轴方向偏移量。


测试:在widget中拉四个按钮,设置不同的阴影效果:

image.png

第一个使用默认阴影效果;第二个设置阴影的颜色为紫色;第三个设置模糊半径为5;第四个设置偏移量为-8,8 x轴方向与前三个相反。

运行效果:

image.png



演示站
上一篇:Qt如何实现模糊效果?
下一篇:Qt如何实现界面的透明效果?

发表评论