QMovie Class Reference

[QtGui module]

该QMovie类是一个方便的类,用于播放电影的QImageReaderMore…

继承QObject

Types

  • enum CacheMode { CacheNone, CacheAll }
  • enum MovieState { NotRunning, Paused, Running }

Methods

  • __init__ (self, QObject parent = None)
  • __init__ (self, QIODevice device, QByteArray format = QByteArray(), QObject parent = None)
  • __init__ (self, QString fileName, QByteArray format = QByteArray(), QObject parent = None)
  • QColor backgroundColor (self)
  • CacheMode cacheMode (self)
  • int currentFrameNumber (self)
  • QImage currentImage (self)
  • QPixmap currentPixmap (self)
  • QIODevice device (self)
  • QString fileName (self)
  • QByteArray format (self)
  • int frameCount (self)
  • QRect frameRect (self)
  • bool isValid (self)
  • bool jumpToFrame (self, int frameNumber)
  • bool jumpToNextFrame (self)
  • int loopCount (self)
  • int nextFrameDelay (self)
  • QSize scaledSize (self)
  • setBackgroundColor (self, QColor color)
  • setCacheMode (self, CacheMode mode)
  • setDevice (self, QIODevice device)
  • setFileName (self, QString fileName)
  • setFormat (self, QByteArray format)
  • setPaused (self, bool paused)
  • setScaledSize (self, QSize size)
  • setSpeed (self, int percentSpeed)
  • int speed (self)
  • start (self)
  • MovieState state (self)
  • stop (self)

Static Methods

  • list-of-QByteArray supportedFormats ()

Qt Signals

  • void error (QImageReader::ImageReaderError)
  • void finished ()
  • void frameChanged (int)
  • void resized (const QSize&)
  • void started ()
  • void stateChanged (QMovie::MovieState)
  • void updated (const QRect&)

Detailed Description

该QMovie类是一个方便的类,用于播放电影的QImageReader

这个类是用来显示简单的动画没有声音。如果你想显示的视频和媒体内容,使用Phonon多媒体框架来代替。

首先,通过传递一个文件的名称或一个指向创建QMovie对象QIODevice含动画图像格式QMovie的构造函数。您可以致电isValid() ,以检查是否在图像数据是有效的,从电影之前。开始播放影片,通话start( ) 。 QMovie将进入Running状态,并放出started()和stateChanged( ) 。为了得到影片的当前状态,请致电state( ) 。

若要显示影片在您的应用程序,你可以通过你的QMovie对象QLabel.setMovie( ) 。例如:

  1. [QLabel](qlabel.html) label;
  2. QMovie *movie = new QMovie("animations/fire.gif");
  3. label.setMovie(movie);
  4. movie->start();

每当一个新的框架是在电影中使用, QMovie会发出updated( ) 。如果该帧的大小变化,resized()被发射。您可以致电currentImage()或currentPixmap( )来获得当前帧的副本。当影片完成后, QMovie发出finished( ) 。如果播放(即图像文件已损坏)过程中发生任何错误, QMovie会发出error( ) 。

你可以通过调用控制影片的播放速度setSpeed(),它采用原始速度的百分比作为参数。通过调用setPaused (真)暂停电影。 QMovie将进入Paused国家和EMITstateChanged( ) 。如果调用setPaused (假) , QMovie将重新进入Running状态,然后再次开始播放电影。停止播放视频,呼叫stop( ) 。

某些动画格式允许您设置背景颜色。您可以致电setBackgroundColor()来设置颜色,或backgroundColor()来获取当前背景色。

currentFrameNumber()返回在当前帧的序列号。在动画的第一帧具有序列号0。frameCount()返回的帧的总数目在动画中,如果图像格式支持这一点。您可以致电loopCount( )来获得本次电影应该在完成循环之前的数量。nextFrameDelay()返回毫秒为单位的当前帧应该显示的数目。

QMovie可以通过调用被指示动画的帧缓存setCacheMode( ) 。

Call supportedFormats( )对于格式的列表QMovie支持。


Type Documentation

  1. QMovie.CacheMode

这个枚举变量描述了不同的缓存模式QMovie

Constant Value Description
QMovie.CacheNone 0 没有帧缓存(默认值) 。
QMovie.CacheAll 1 所有的帧缓存。
  1. QMovie.MovieState

该枚举描述的不同状态QMovie

Constant Value Description
QMovie.NotRunning 0 这部电影没有运行。这是QMovie的初始状态,并且状态后,它进入stop( )被调用或电影结束。
QMovie.Paused 1 电影被暂停,并QMovie停止发光updated()或resized( ) 。调用后进入此状态pause( )或setPaused (真) 。当前帧号是蒙了,这部电影将继续与下一帧时unpause()或setPaused (假)被调用。
QMovie.Running 2 这部电影正在运行。

Method Documentation

  1. QMovie.__init__ (self, QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QMovie对象,通过parent反对QObject的构造。

See also setFileName( )setDevice()和setFormat( ) 。

  1. QMovie.__init__ (self, QIODevice device, QByteArray format = QByteArray(), QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QMovie对象。QMovie将使用读取的图像数据从device,它假定为开放性和可读性。如果format不为空,QMovie将使用的图像格式format对图像数据进行解码。否则,QMovie会尝试猜测的格式。

parent对象被传递给QObject的构造。

  1. QMovie.__init__ (self, QString fileName, QByteArray format = QByteArray(), QObject parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个QMovie对象。QMovie将使用读取的图像数据从fileName。如果format不为空,QMovie将使用的图像格式format对图像数据进行解码。否则,QMovie会尝试猜测的格式。

parent对象被传递给QObject的构造。

  1. QColor QMovie.backgroundColor (self)

返回电影的背景颜色。如果没有背景色已经被分配,一个无效的QColor返回。

See also setBackgroundColor( ) 。

  1. CacheMode QMovie.cacheMode (self)

[

  1. int QMovie.currentFrameNumber (self)

返回当前帧的序列号。在电影的第一帧的数目是0。

]($docs-qmovie.html#CacheMode-enum)

  1. QImage QMovie.currentImage (self)

返回当前帧作为QImage

See also currentPixmap()和updated( ) 。

  1. QPixmap QMovie.currentPixmap (self)

返回当前帧作为QPixmap

See also currentImage()和updated( ) 。

  1. QIODevice QMovie.device (self)

返回设备QMovie从读取图像数据。如果没有设备目前已被分配,则返回0 。

See also setDevice()和fileName( ) 。

  1. QString QMovie.fileName (self)

返回的文件的名称QMovie从读取图像数据。如果没有文件名已经被分配,或者如果指定的设备是不是一个文件,一个空QString返回。

See also setFileName()和device( ) 。

  1. QByteArray QMovie.format (self)

返回格式QMovie图像数据进行解码时使用。如果没有指定格式已经被分配,一个空QByteArray中( )返回。

See also setFormat( ) 。

  1. int QMovie.frameCount (self)

返回帧的电影数量。

某些动画格式不支持此功能,在这种情况下,返回0。

  1. QRect QMovie.frameRect (self)

返回的最后一帧的正确。如果没有框架至今尚未更新,无效QRect返回。

See also currentImage()和currentPixmap( ) 。

  1. bool QMovie.isValid (self)

返回True如果影片是有效的(例如,图像数据是可读的,并且所支持的图像格式),否则返回False 。

  1. bool QMovie.jumpToFrame (self, int frameNumber)

跳转到帧号frameNumber。成功时返回TRUE ,否则返回False 。

  1. bool QMovie.jumpToNextFrame (self)

这种方法也是一个Qt槽与C + +的签名bool jumpToNextFrame()

跳转到下一帧。成功时返回TRUE ,否则返回False 。

  1. int QMovie.loopCount (self)

返回的次数这部电影将循环完成之前。如果影片只能播放一次(无循环) , loopCount返回0 。如果影片永远循环, loopCount返回-1 。

需要注意的是,如果图像数据是来自一个连续的设备(例如一插座)QMovie如果只能回路的电影cacheMode被设置为QMovie.CacheAll

  1. int QMovie.nextFrameDelay (self)

返回的毫秒数QMovie更新在动画中的下一帧之前,将等待。

  1. QSize QMovie.scaledSize (self)

[

返回的帧的缩放大小。

这个函数是Qt 4.1中引入。

]($docs-qsize.html)

See also setScaledSize()和QImageReader.scaledSize( ) 。

  1. QMovie.setBackgroundColor (self, QColor color)

对于支持它的图像格式,该函数设置背景颜色为color

See also backgroundColor( ) 。

  1. QMovie.setCacheMode (self, CacheMode mode)
  1. QMovie.setDevice (self, QIODevice device)

设置当前设备deviceQMovie会从电影运行时该设备读取的图像数据。

See also device()和setFormat( ) 。

  1. QMovie.setFileName (self, QString fileName)

载的文件的名称QMovie读取图像数据,以fileName

See also fileName( )setDevice()和setFormat( ) 。

  1. QMovie.setFormat (self, QByteArray format)

设置格式QMovie解码图像数据时,要会用format。默认情况下,QMovie会尝试猜测的图像数据的格式。

您可以致电supportedFormats( )对于格式的完整列表QMovie支持。

See also format()和QImageReader.supportedImageFormats( ) 。

  1. QMovie.setPaused (self, bool paused)

这种方法也是一个Qt槽与C + +的签名void setPaused(bool)

If paused是真的,QMovie将进入Paused状态并放出stateChanged (暂停) ,否则将进入Running状态并放出stateChanged (运行) 。

See also paused()和state( ) 。

  1. QMovie.setScaledSize (self, QSize size)

设置缩放帧尺寸为size

这个函数是Qt 4.1中引入。

See also scaledSize()和QImageReader.setScaledSize( ) 。

  1. QMovie.setSpeed (self, int percentSpeed)
  1. int QMovie.speed (self)
  1. QMovie.start (self)

这种方法也是一个Qt槽与C + +的签名void start()

开始播放电影。QMovie将进入Running状态,并开始发光updated()和resized( )作为电影的进展。

If QMoviePaused状态时,此功能相当于调用setPaused (假) 。如果QMovie已经在Running状态,这个函数什么都不做。

See also stop()和setPaused( ) 。

  1. MovieState QMovie.state (self)

返回的当前状态QMovie

See also MovieStatestateChanged( ) 。

  1. QMovie.stop (self)

这种方法也是一个Qt槽与C + +的签名void stop()

停止该影片。QMovie进入NotRunning状态,并停止发出updated()和resized( ) 。如果start( )再次被调用时,影片将从头开始重新启动。

If QMovie已经在NotRunning状态,这个函数什么都不做。

See also start()和setPaused( ) 。

  1. list-of-QByteArray QMovie.supportedFormats ()

传回的图像格式所支持的列表QMovie

这个函数是Qt 4.1中引入。

See also QImageReader.supportedImageFormats( ) 。


Qt Signal Documentation

  1. void error (QImageReader::ImageReaderError)

这是该信号的默认超载。

这个信号是由发射QMovie当错误error在播放过程中发生的。QMovie将停止播放电影,并输入QMovie.NotRunning状态。

  1. void finished ()

这是该信号的默认超载。

当影片结束这个信号被发射。

See also QMovie.stop( ) 。

  1. void frameChanged (int)

这是该信号的默认超载。

这个信号被发射时的帧编号变更为frameNumber。您可以致电currentImage()或currentPixmap( )来获取帧的副本。

这个函数是Qt 4.1中引入。

  1. void resized (const QSize&)

这是该信号的默认超载。

当当前帧已经被改变到这一信号被发射size。这种效果有时用于动画作为替代更换帧。您可以致电currentImage()或currentPixmap( )来获取更新的帧的副本。

  1. void started ()

这是该信号的默认超载。

之后此信号被发射QMovie.start( )被调用,并QMovie已进入QMovie.Running状态。

  1. void stateChanged (QMovie::MovieState)

这是该信号的默认超载。

每当这个信号被发射的电影的状态发生改变。新的状态被指定state

See also QMovie.state( ) 。

  1. void updated (const QRect&)

这是该信号的默认超载。

这个信号被发射时的RECTrect在当前帧中已被更新。您可以致电currentImage()或currentPixmap( )来获取更新的帧的副本。