PySide6.QtGui.QMovie¶
- class QMovie¶
- The - QMovieclass is a convenience class for playing movies with- QImageReader. More…- Synopsis¶- Properties¶- cacheModeᅟ- The movie’s cache mode
- speedᅟ- The movie’s speed
 - Methods¶- def - __init__()
- def - cacheMode()
- def - currentImage()
- def - currentPixmap()
- def - device()
- def - fileName()
- def - format()
- def - frameCount()
- def - frameRect()
- def - isValid()
- def - jumpToFrame()
- def - lastError()
- def - loopCount()
- def - nextFrameDelay()
- def - scaledSize()
- def - setCacheMode()
- def - setDevice()
- def - setFileName()
- def - setFormat()
- def - setScaledSize()
- def - speed()
- def - state()
 - Slots¶
- def - setPaused()
- def - setSpeed()
- def - start()
- def - stop()
 - Signals¶- def - error()
- def - finished()
- def - frameChanged()
- def - resized()
- def - started()
- def - stateChanged()
- def - updated()
 - Static functions¶- Note - This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE - Detailed Description¶- Warning - This section contains snippets that were automatically translated from C++ to Python and may contain errors. - This class is used to show simple animations without sound. - First, create a - QMovieobject by passing either the name of a file or a pointer to a QIODevice containing an animated image format to- QMovie‘s constructor. You can call- isValid()to check if the image data is valid, before starting the movie. To start the movie, call- start().- QMoviewill enter- Runningstate, and emit- started()and- stateChanged(). To get the current state of the movie, call- state().- To display the movie in your application, you can pass your - QMovieobject 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, - QMoviewill emit- updated(). If the size of the frame changes,- resized()is emitted. You can call- currentImage()or- currentPixmap()to get a copy of the current frame. When the movie is done,- QMovieemits- finished(). If any error occurs during playback (i.e, the image file is corrupt),- QMoviewill emit- error().- You can control the speed of the movie playback by calling - setSpeed(), which takes the percentage of the original speed as an argument. Pause the movie by calling- setPaused(true).- QMoviewill then enter- Pausedstate and emit- stateChanged(). If you call- setPaused(false),- QMoviewill reenter- Runningstate and start the movie again. To stop the movie, call- stop().- Certain animation formats allow you to set the background color. You can call - setBackgroundColor()to set the color, or- backgroundColor()to retrieve the current background color.- currentFrameNumber()returns the sequence number of the current frame. The first frame in the animation has the sequence number 0.- frameCount()returns the total number of frames in the animation, if the image format supports this. You can call- loopCount()to get the number of times the movie should loop before finishing.- nextFrameDelay()returns the number of milliseconds the current frame should be displayed.- QMoviecan be instructed to cache frames of an animation by calling- setCacheMode().- Call - supportedFormats()for a list of formats that- QMoviesupports.- See also - class MovieState¶
- This enum describes the different states of - QMovie.- Constant - Description - QMovie.NotRunning - The movie is not running. This is - QMovie‘s initial state, and the state it enters after- stop()has been called or the movie is finished.- QMovie.Paused - The movie is paused, and - QMoviestops emitting- updated()or- 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. 
 - class CacheMode¶
- This enum describes the different cache modes of - QMovie.- Constant - Description - QMovie.CacheNone - No frames are cached (the default). - QMovie.CacheAll - All frames are cached. 
 - Note - Properties can be used directly when - from __feature__ import true_propertyis used or via accessor functions otherwise.- property cacheModeᅟ: QMovie.CacheMode¶
 - This property holds the movie’s cache mode. - Caching frames can be useful when the underlying animation format handler that - QMovierelies 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 - QMovieobject 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 - Access functions:
 - property speedᅟ: int¶
 - Warning - This section contains snippets that were automatically translated from C++ to Python and may contain errors. - 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 - Access functions:
 - Constructs a - QMovieobject, passing the- parentobject to QObject’s constructor.- See also - __init__(device[, format=QByteArray()[, parent=None]])
- Parameters:
- device – - QIODevice
- format – - QByteArray
- parent – - QObject
 
 
 - Constructs a - QMovieobject.- QMoviewill use read image data from- device, which it assumes is open and readable. If- formatis not empty,- QMoviewill use the image format- formatfor decoding the image data. Otherwise,- QMoviewill attempt to guess the format.- The - parentobject is passed to QObject’s constructor.- __init__(fileName[, format=QByteArray()[, parent=None]])
- Parameters:
- fileName – str 
- format – - QByteArray
- parent – - QObject
 
 
 - Constructs a - QMovieobject.- QMoviewill use read image data from- fileName. If- formatis not empty,- QMoviewill use the image format- formatfor decoding the image data. Otherwise,- QMoviewill attempt to guess the format.- The - parentobject is passed to QObject’s constructor.- Returns the background color of the movie. If no background color has been assigned, an invalid - QColoris returned.- See also - cacheMode()¶
- Return type:
 - See also 
 - Getter of property - cacheModeᅟ.- currentFrameNumber()¶
- Return type:
- int 
 
 - Returns the sequence number of the current frame. The number of the first frame in the movie is 0. - Returns the current frame as a - QImage.- See also - Returns the current frame as a - QPixmap.- See also - Returns the device - QMoviereads image data from. If no device has currently been assigned,- Noneis returned.- See also - error(error)¶
- Parameters:
- error – - ImageReaderError
 
 - This signal is emitted by - QMoviewhen the error- erroroccurred during playback.- QMoviewill stop the movie, and enter- NotRunningstate.- See also - fileName()¶
- Return type:
- str 
 
 - Returns the name of the file that - QMoviereads image data from. If no file name has been assigned, or if the assigned device is not a file, an empty QString is returned.- See also - finished()¶
 - This signal is emitted when the movie has finished. - See also - format()¶
- Return type:
 
 - Returns the format that - QMovieuses when decoding image data. If no format has been assigned, an empty QByteArray() is returned.- See also - frameChanged(frameNumber)¶
- Parameters:
- frameNumber – int 
 
 - This signal is emitted when the frame number has changed to - frameNumber. You can call- currentImage()or- currentPixmap()to get a copy of the frame.- frameCount()¶
- Return type:
- int 
 
 - Returns the number of frames in the movie. - Certain animation formats do not support this feature, in which case 0 is returned. - Returns the rect of the last frame. If no frame has yet been updated, an invalid QRect is returned. - See also - isValid()¶
- Return type:
- bool 
 
 - Returns - trueif the movie is valid (e.g., the image data is readable and the image format is supported); otherwise returns- false.- For information about why the movie is not valid, see - lastError().- jumpToFrame(frameNumber)¶
- Parameters:
- frameNumber – int 
- Return type:
- bool 
 
 - Jumps to frame number - frameNumber. Returns- trueon success; otherwise returns- false.- jumpToNextFrame()¶
- Return type:
- bool 
 
 - Jumps to the next frame. Returns - trueon success; otherwise returns- false.- lastError()¶
- Return type:
 
 - Returns the most recent error that occurred while attempting to read image data. - See also - lastErrorString()¶
- Return type:
- str 
 
 - Returns a human-readable representation of the most recent error that occurred while attempting to read image data. - See also - loopCount()¶
- Return type:
- 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), - QMoviecan only loop the movie if the- cacheModeis set to- CacheAll.- nextFrameDelay()¶
- Return type:
- int 
 
 - Returns the number of milliseconds - QMoviewill wait before updating the next frame in the animation.- This signal is emitted when the current frame has been resized to - size. This effect is sometimes used in animations as an alternative to replacing the frame. You can call- currentImage()or- currentPixmap()to get a copy of the updated frame.- Returns the scaled size of frames. - See also - For image formats that support it, this function sets the background color to - color.- See also - Setter of property - cacheModeᅟ.- Sets the current device to - device.- QMoviewill read image data from this device when the movie is running.- See also - setFileName(fileName)¶
- Parameters:
- fileName – str 
 
 - Sets the name of the file that - QMoviereads image data from, to- fileName.- See also - setFormat(format)¶
- Parameters:
- format – - QByteArray
 
 - Sets the format that - QMoviewill use when decoding image data, to- format. By default,- QMoviewill attempt to guess the format of the image data.- You can call - supportedFormats()for the full list of formats- QMoviesupports.- See also - setPaused(paused)¶
- Parameters:
- paused – bool 
 
 - If - pausedis true,- QMoviewill enter- Pausedstate and emit- stateChanged(Paused); otherwise it will enter- Runningstate and emit- stateChanged(Running).- See also - Sets the scaled frame size to - size.- See also - Setter of property - speedᅟ.- speed()¶
- Return type:
- int 
 - See also 
 - Getter of property - speedᅟ.- start()¶
 - Starts the movie. - QMoviewill enter- Runningstate, and start emitting- updated()and- resized()as the movie progresses.- If - QMovieis in the- Pausedstate, this function is equivalent to calling- setPaused(false). If- QMovieis already in the- Runningstate, this function does nothing.- See also - started()¶
 - This signal is emitted after - start()has been called, and- QMoviehas entered- Runningstate.- state()¶
- Return type:
 
 - Returns the current state of - QMovie.- See also - stateChanged(state)¶
- Parameters:
- state – - MovieState
 
 - This signal is emitted every time the state of the movie changes. The new state is specified by - state.- See also - stop()¶
 - Stops the movie. - QMovieenters- NotRunningstate, and stops emitting- updated()and- resized(). If- start()is called again, the movie will restart from the beginning.- If - QMovieis already in the- NotRunningstate, this function does nothing.- See also - static supportedFormats()¶
- Return type:
- .list of QByteArray 
 
 - Returns the list of image formats supported by - QMovie.- See also - This signal is emitted when the rect - rectin the current frame has been updated. You can call- currentImage()or- currentPixmap()to get a copy of the updated frame.