CARVIEW |
Select Language
HTTP/2 200
date: Wed, 23 Jul 2025 22:05:37 GMT
server: Apache/2.4.41 (Ubuntu)
vary: Cookie,User-Agent,Accept-Encoding
set-cookie: MOIN_SESSION_443_ROOT_moin=1ffacf817a986c95cdcf5723b9ef42e8ab20486b; Expires=Wed, 23-Jul-2025 23:05:00 GMT; Max-Age=3600; Secure; Path=/
content-encoding: gzip
content-type: text/html; charset=utf-8
x-clacks-overhead: GNU Terry Pratchett
strict-transport-security: max-age=315360000; includeSubDomains; preload
PyQt/GraphicsView_-_SimpleAnimation - Python Wiki
Graphics View - Simple Animation
The example below presents how to use QGraphicsView along with QGraphicsItem, QGraphicsItemAnimation and QTimeLine to construct a very simple animation. If you have any questions please do not hesitate to ask me directly.
1 # simple code by Krystian Samp - krychu (samp[dot]krystian[monkey]gmail.com), November 2006
2
3 import sys
4 from PyQt4 import QtGui, QtCore
5
6 class MyView(QtGui.QGraphicsView):
7 def __init__(self):
8 QtGui.QGraphicsView.__init__(self)
9
10 self.scene = QtGui.QGraphicsScene(self)
11 self.item = QtGui.QGraphicsEllipseItem(-20, -10, 40, 20)
12 self.scene.addItem(self.item)
13 self.setScene(self.scene)
14
15 # Remember to hold the references to QTimeLine and QGraphicsItemAnimation instances.
16 # They are not kept anywhere, even if you invoke QTimeLine.start().
17 self.tl = QtCore.QTimeLine(1000)
18 self.tl.setFrameRange(0, 100)
19 self.a = QtGui.QGraphicsItemAnimation()
20 self.a.setItem(self.item)
21 self.a.setTimeLine(self.tl)
22
23 # Each method determining an animation state (e.g. setPosAt, setRotationAt etc.)
24 # takes as a first argument a step which is a value between 0 (the beginning of the
25 # animation) and 1 (the end of the animation)
26 self.a.setPosAt(0, QtCore.QPointF(0, -10))
27 self.a.setRotationAt(1, 360)
28
29 self.tl.start()
30
31 if __name__ == '__main__':
32 app = QtGui.QApplication(sys.argv)
33 view = MyView()
34 view.show()
35 sys.exit(app.exec_())
(WinXP, Py2.6, PyQt4.4.4)
PyQt/GraphicsView_-_SimpleAnimation (last edited 2014-06-06 23:42:03 by DavidBoddie)
Unable to edit the page? See the FrontPage for instructions.