Qt4 w / PySide:如何为Widget创建动画循环?

时间:2014-05-02 21:01:02

标签: python qt animation qt4 pyside

我正在使用QWidget以不同的颜色渐变来渲染x和y重复的形状,并喜欢随着时间的推移转换这些颜色。在这个小部件中,我依靠QPainter的绘图api来绘制和创建形状。

使用Qt4将特定小部件放入动画循环的最佳方法是什么,以便定期触发paintEvent(),最好是以可配置的帧速率/时间间隔? (就像处理舞台一样的工具)

此外,您是否建议使用其他窗口小部件类型进行此类任务?

1 个答案:

答案 0 :(得分:0)

reddit上的用户让我走上正轨: http://redd.it/24kogy

正如所建议的,QTimer工作正常。在您的小部件类中,您可以像这样应用它:

timer = QTimer(self)
timer.setInterval(20) # interval in ms
self.connect(timer, SIGNAL("timeout()"), self.update)
timer.start()

相关进口

from PySide.QtCore import QTimer, SIGNAL