当前位置:   article > 正文

qt同时两个动画执行_QT页面切换动画实现

qt propertyanimation 切换页面

近期公司要求在QT的项目界面上加入页面切换的动画效果,笔者从网上找了很多资料都没有找到合适的,现在算是找到了解决方案,测试了下感觉效果还可以,所以拿出来和大家分享下。

QT在动画方面感觉较安卓或者IOS还是有一定差距的,尤其是纯C++的QT,后来加入qml后动画效果就比较多了,但是两者的混合编程还是个难点。

因为需要切换的页面上已经有很多复杂的组件,舍弃全部用qml重写工作量非常大。所以一开始笔者考虑的是外部页面用qml实现,以前写好的组件直接放到qml实现的页面上,实际上就是在原QWidget外面加层qml的衣服。结果查阅了半天资料发现这根本不可能实现,具体可以去看这个帖子:http://bbs.csdn.net/topics/390984937

然后笔者就考虑最坏情况了,QWidget中嵌入qml,需要切换的页面全部用qml实现,以前组件抛弃不用了。理论上这个方案确实可行,用到的应该是QDeclarativeView类(4.8版本),5.3以后应该改成QQuickWidget 了,笔者用的5.2.1版本没有找到相应的类,所以没去测试。然后笔者抱着不放弃的精神又进行了一番搜索,最终发现QPropertyAnimation可以完美的解决笔者的问题。下面就来具体看实现流程,对于此类笔者不再去详述它的用法,网上资料比较多,笔者只列出实现的关键点。

界面有哪些属性可以变换

QPropertyAnimation(QObject * target, const QByteArray & propertyName, QObject * parent = 0)

上面是动画类的构造函数,第一个参数是加动画的目标对象,关键是第二个参数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/81588
推荐阅读
相关标签
  

闽ICP备14008679号