The PySide.QtGui.QMovie class is a convenience class for playing movies with PySide.QtGui.QImageReader .
This class is used to show simple animations without sound. If you want to display video and media content, use the Phonon multimedia framework instead.
First, create a PySide.QtGui.QMovie object by passing either the name of a file or a pointer to a PySide.QtCore.QIODevice containing an animated image format to PySide.QtGui.QMovie ‘s constructor. You can call PySide.QtGui.QMovie.isValid() to check if the image data is valid, before starting the movie. To start the movie, call PySide.QtGui.QMovie.start() . PySide.QtGui.QMovie will enter Running state, and emit PySide.QtGui.QMovie.started() and PySide.QtGui.QMovie.stateChanged() . To get the current state of the movie, call PySide.QtGui.QMovie.state() .
To display the movie in your application, you can pass your PySide.QtGui.QMovie object to QLabel.setMovie() . Example:
label = QLabel() movie = QMovie("animations/fire.gif") label.setMovie(movie) movie.start()Whenever a new frame is available in the movie, PySide.QtGui.QMovie will emit PySide.QtGui.QMovie.updated() . If the size of the frame changes, PySide.QtGui.QMovie.resized() is emitted. You can call PySide.QtGui.QMovie.currentImage() or PySide.QtGui.QMovie.currentPixmap() to get a copy of the current frame. When the movie is done, PySide.QtGui.QMovie emits PySide.QtGui.QMovie.finished() . If any error occurs during playback (i.e, the image file is corrupt), PySide.QtGui.QMovie will emit PySide.QtGui.QMovie.error() .
You can control the speed of the movie playback by calling PySide.QtGui.QMovie.setSpeed() , which takes the percentage of the original speed as an argument. Pause the movie by calling setPaused(true). PySide.QtGui.QMovie will then enter Paused state and emit PySide.QtGui.QMovie.stateChanged() . If you call setPaused(false), PySide.QtGui.QMovie will reenter Running state and start the movie again. To stop the movie, call PySide.QtGui.QMovie.stop() .
Certain animation formats allow you to set the background color. You can call PySide.QtGui.QMovie.setBackgroundColor() to set the color, or PySide.QtGui.QMovie.backgroundColor() to retrieve the current background color.
PySide.QtGui.QMovie.currentFrameNumber() returns the sequence number of the current frame. The first frame in the animation has the sequence number 0. PySide.QtGui.QMovie.frameCount() returns the total number of frames in the animation, if the image format supports this. You can call PySide.QtGui.QMovie.loopCount() to get the number of times the movie should loop before finishing. PySide.QtGui.QMovie.nextFrameDelay() returns the number of milliseconds the current frame should be displayed.
PySide.QtGui.QMovie can be instructed to cache frames of an animation by calling PySide.QtGui.QMovie.setCacheMode() .
Call PySide.QtGui.QMovie.supportedFormats() for a list of formats that PySide.QtGui.QMovie supports.
See also
PySide.QtGui.QLabel PySide.QtGui.QImageReader Movie Example
Parameters: |
|
---|
Constructs a PySide.QtGui.QMovie object. PySide.QtGui.QMovie will use read image data from device , which it assumes is open and readable. If format is not empty, PySide.QtGui.QMovie will use the image format format for decoding the image data. Otherwise, PySide.QtGui.QMovie will attempt to guess the format.
The parent object is passed to PySide.QtCore.QObject ‘s constructor.
Constructs a PySide.QtGui.QMovie object, passing the parent object to PySide.QtCore.QObject ‘s constructor.
See also
PySide.QtGui.QMovie.setFileName() PySide.QtGui.QMovie.setDevice() PySide.QtGui.QMovie.setFormat()
Constructs a PySide.QtGui.QMovie object. PySide.QtGui.QMovie will use read image data from fileName . If format is not empty, PySide.QtGui.QMovie will use the image format format for decoding the image data. Otherwise, PySide.QtGui.QMovie will attempt to guess the format.
The parent object is passed to PySide.QtCore.QObject ‘s constructor.
This enum describes the different cache modes of PySide.QtGui.QMovie .
Constant | Description |
---|---|
QMovie.CacheNone | No frames are cached (the default). |
QMovie.CacheAll | All frames are cached. |
This enum describes the different states of PySide.QtGui.QMovie .
Constant | Description |
---|---|
QMovie.NotRunning | The movie is not running. This is PySide.QtGui.QMovie ‘s initial state, and the state it enters after PySide.QtGui.QMovie.stop() has been called or the movie is finished. |
QMovie.Paused | The movie is paused, and PySide.QtGui.QMovie stops emitting PySide.QtGui.QMovie.updated() or PySide.QtGui.QMovie.resized() . This state is entered after calling pause() or setPaused(true). The current frame number it kept, and the movie will continue with the next frame when unpause() or setPaused(false) is called. |
QMovie.Running | The movie is running. |
Return type: | PySide.QtGui.QColor |
---|
Returns the background color of the movie. If no background color has been assigned, an invalid PySide.QtGui.QColor is returned.
Return type: | PySide.QtGui.QMovie.CacheMode |
---|
This property holds the movie’s cache mode.
Caching frames can be useful when the underlying animation format handler that PySide.QtGui.QMovie relies on to decode the animation data does not support jumping to particular frames in the animation, or even “rewinding” the animation to the beginning (for looping). Furthermore, if the image data comes from a sequential device, it is not possible for the underlying animation handler to seek back to frames whose data has already been read (making looping altogether impossible).
To aid in such situations, a PySide.QtGui.QMovie object can be instructed to cache the frames, at the added memory cost of keeping the frames in memory for the lifetime of the object.
By default, this property is set to CacheNone .
See also
QMovie.CacheMode
Return type: | PySide.QtCore.int |
---|
Returns the sequence number of the current frame. The number of the first frame in the movie is 0.
Return type: | PySide.QtGui.QImage |
---|
Returns the current frame as a PySide.QtGui.QImage .
Return type: | PySide.QtGui.QPixmap |
---|
Returns the current frame as a PySide.QtGui.QPixmap .
Return type: | PySide.QtCore.QIODevice |
---|
Returns the device PySide.QtGui.QMovie reads image data from. If no device has currently been assigned, 0 is returned.
Parameters: | error – PySide.QtGui.QImageReader.ImageReaderError |
---|
Return type: | unicode |
---|
Returns the name of the file that PySide.QtGui.QMovie reads image data from. If no file name has been assigned, or if the assigned device is not a file, an empty PySide.QtCore.QString is returned.
Return type: | PySide.QtCore.QByteArray |
---|
Returns the format that PySide.QtGui.QMovie uses when decoding image data. If no format has been assigned, an empty QByteArray() is returned.
See also
Parameters: | frameNumber – PySide.QtCore.int |
---|
Return type: | PySide.QtCore.int |
---|
Returns the number of frames in the movie.
Certain animation formats do not support this feature, in which case 0 is returned.
Return type: | PySide.QtCore.QRect |
---|
Returns the rect of the last frame. If no frame has yet been updated, an invalid PySide.QtCore.QRect is returned.
Return type: | PySide.QtCore.bool |
---|
Returns true if the movie is valid (e.g., the image data is readable and the image format is supported); otherwise returns false.
Parameters: | frameNumber – PySide.QtCore.int |
---|---|
Return type: | PySide.QtCore.bool |
Jumps to frame number frameNumber . Returns true on success; otherwise returns false.
Return type: | PySide.QtCore.bool |
---|
Jumps to the next frame. Returns true on success; otherwise returns false.
Return type: | PySide.QtCore.int |
---|
Returns the number of times the movie will loop before it finishes. If the movie will only play once (no looping), loopCount returns 0. If the movie loops forever, loopCount returns -1.
Note that, if the image data comes from a sequential device (e.g. a socket), PySide.QtGui.QMovie can only loop the movie if the PySide.QtGui.QMovie.cacheMode() is set to QMovie.CacheAll .
Return type: | PySide.QtCore.int |
---|
Returns the number of milliseconds PySide.QtGui.QMovie will wait before updating the next frame in the animation.
Parameters: | size – PySide.QtCore.QSize |
---|
Return type: | PySide.QtCore.QSize |
---|
Returns the scaled size of frames.
Parameters: | color – PySide.QtGui.QColor |
---|
For image formats that support it, this function sets the background color to color .
Parameters: | mode – PySide.QtGui.QMovie.CacheMode |
---|
This property holds the movie’s cache mode.
Caching frames can be useful when the underlying animation format handler that PySide.QtGui.QMovie relies on to decode the animation data does not support jumping to particular frames in the animation, or even “rewinding” the animation to the beginning (for looping). Furthermore, if the image data comes from a sequential device, it is not possible for the underlying animation handler to seek back to frames whose data has already been read (making looping altogether impossible).
To aid in such situations, a PySide.QtGui.QMovie object can be instructed to cache the frames, at the added memory cost of keeping the frames in memory for the lifetime of the object.
By default, this property is set to CacheNone .
See also
QMovie.CacheMode
Parameters: | device – PySide.QtCore.QIODevice |
---|
Sets the current device to device . PySide.QtGui.QMovie will read image data from this device when the movie is running.
Parameters: | fileName – unicode |
---|
Sets the name of the file that PySide.QtGui.QMovie reads image data from, to fileName .
Parameters: | format – PySide.QtCore.QByteArray |
---|
Sets the format that PySide.QtGui.QMovie will use when decoding image data, to format . By default, PySide.QtGui.QMovie will attempt to guess the format of the image data.
You can call PySide.QtGui.QMovie.supportedFormats() for the full list of formats PySide.QtGui.QMovie supports.
Parameters: | paused – PySide.QtCore.bool |
---|
If paused is true, PySide.QtGui.QMovie will enter Paused state and emit stateChanged(Paused); otherwise it will enter Running state and emit stateChanged(Running).
See also
paused() PySide.QtGui.QMovie.state()
Parameters: | size – PySide.QtCore.QSize |
---|
Sets the scaled frame size to size .
Parameters: | percentSpeed – PySide.QtCore.int |
---|
This property holds the movie’s speed.
The speed is measured in percentage of the original movie speed. The default speed is 100%. Example:
movie = QMovie("racecar.gif")
movie.setSpeed(200) // 2x speed
Return type: | PySide.QtCore.int |
---|
This property holds the movie’s speed.
The speed is measured in percentage of the original movie speed. The default speed is 100%. Example:
movie = QMovie("racecar.gif")
movie.setSpeed(200) // 2x speed
Starts the movie. PySide.QtGui.QMovie will enter Running state, and start emitting PySide.QtGui.QMovie.updated() and PySide.QtGui.QMovie.resized() as the movie progresses.
If PySide.QtGui.QMovie is in the Paused state, this function is equivalent to calling setPaused(false). If PySide.QtGui.QMovie is already in the Running state, this function does nothing.
Return type: | PySide.QtGui.QMovie.MovieState |
---|
Returns the current state of PySide.QtGui.QMovie .
See also
QMovie.MovieState PySide.QtGui.QMovie.stateChanged()
Parameters: | state – PySide.QtGui.QMovie.MovieState |
---|
Stops the movie. PySide.QtGui.QMovie enters NotRunning state, and stops emitting PySide.QtGui.QMovie.updated() and PySide.QtGui.QMovie.resized() . If PySide.QtGui.QMovie.start() is called again, the movie will restart from the beginning.
If PySide.QtGui.QMovie is already in the NotRunning state, this function does nothing.
Return type: |
---|
Returns the list of image formats supported by PySide.QtGui.QMovie .
See also
Parameters: | rect – PySide.QtCore.QRect |
---|