Qt中QtQuick实现的动画非常绚丽,可设置的动画属性也非常丰富,但目前大多数项目中,都是采用Qt基本库,这是若要实现动画,该如何处理呢?两个方法:
1、通过QML实现动画, 并将其嵌入QWidget中(此方法不是我们讨论的重点);
2、利用Qt基本库中QPropertyAnimation实现动画。
QPropertyAnimation可以实现控件尺寸和透明度的动画,很多情况下可以满足我们要求(当然效果肯定不如QML)。
如果通过QPropertyAnimation实现控件尺寸改变或透明度动画时,需要注意以下:
控件最好为非模态的控件,即控件要有父控件,否则动画的效果会比较差,相比于前者,闪动较为严重。