qt material风格 源码 分析 windows linux可编译

  • Post author:
  • Post category:linux


先上链接,qt material风格的源码:

https://github.com/laserpants/qt-material-widgets

再上效果图:

效果图上面的源码链接中就有。还有一些未列出来。

现在列几个涉及到的知识点链接:

1、Q_D Q_Q d_ptr q_ptr这些概念理解可以参考


http://blog.csdn.net/rabinsong/article/details/9474859


https://blog.csdn.net/qq_39937902/article/details/79738160

2、qpropertyanimation可以参考


https://blog.csdn.net/kaida1234/article/details/82896611

这里用到了qeasingcurve,非常有趣的一个东西。想实现平滑的滑动效果,平滑的动画效果,或者平滑抖动效果,都可以用qeasingcurve。具体曲线可以参考官方文档,有多种有趣的曲线。


https://doc.qt.io/qt-5/qeasingcurve.html

3、qstatemachine状态机可以参考


https://my.oschina.net/u/3919756/blog/2054607

用例比较简单,看example里的例子即可,下面简单讲下我对典型实现原理的理解。

第一幅图中,点击左边的按钮会出线涟漪,涟漪的原理是通过动画的easycurve实现先快后慢的消失和先小后大的圆圈。通过easycurve得到当前的透明度和当前的圆圈大小,在paintEvent里画出来的。如果是多次点击则画出多个圈。效果就得到了。



版权声明:本文为cglcglcgl原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。