跳转至

Qt拟态窗口滤镜

相信很多小伙伴都见到过一些拟态的界面效果,就像下面这样:

img

拟态界面看起来即简洁又美观,很多前端小伙伴借助CSS3.0可以很轻松的实现这样的效果,但是Qt的QSS样式是基于CSS2.0的,并没有 box-shadow 属性,无法通过样式表来设置这样的效果,可笔者看着这个拟态效果心里又痒痒。

在一段时间的研究后,终于找到了解决方案—— QGraphicsEffect

这是一个使用拟态滤镜的Demo,其中核心文件只有三个:

  • QNeumorphism.h
  • QNeumorphism.cpp
  • QPixmapFilter.h

该Demo参照 https://neumorphism.io ,实现了对 QPushButton 调整拟态滤镜参数的显示面板,下面是一些效果样例:

img

img

评论