• 6022阅读
  • 0回复

【求救】大牛XCHINUX, QMovie类在QT4.0.1下有bug?郁闷 [复制链接]

上一主题 下一主题
离线wuxian610
 
只看楼主 倒序阅读 楼主  发表于: 2005-11-02
我试着用以下代码在label上显示动画, 结果没用.但是以前在qt3的版本中可以使~
   
    QMovie movie("xxxx.gif");
    label->setMovie(movie);
    movie.start();

    后来又用了以前方法, 结果动画显示了一遍就不显示了,。。。请哪位高手帮忙测试一下, 看看问题出在哪里! 在此先谢过了哈.

#ifndef QTEST_H
#define QTEST_H

#include <QWidget>
class Movie;
class QLabel;
  class Movie : public QWidget
{
      Q_OBJECT
      private:
      QMovie *movie;
      QLabel *label;
      public:
      Movie(QWidget *parent = 0);
};

#endif

============
qtest.cpp
============
#include <QtGui>
#include <iostream>
using namespace std;

#include "qtest.h"

  Movie::Movie(QWidget *parent) : QWidget(parent)
{
   
    setWindowTitle(tr("QMovie"));
    resize(400, 250);
    movie = new QMovie;
    movie->setFileName("anim.gif");
    movie->start();
   
    label = new QLabel(this);
    label->setMovie(movie);

    connect(movie, SIGNAL(finished()), movie, SLOT(start()));
   
    QList<QByteArray> l = QImageReader::supportedImageFormats();
    for (int i=0; i < l.size(); i++) cout << QString(l).toStdString() << endl;
       
    /* Layout */
    QGridLayout *layout = new QGridLayout(this);
    layout->addWidget(label,0,0);
   
   
}

===================
main.cpp
===================
#include <QApplication>

#include "qtest.h"

  int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Movie * movie = new Movie();
    movie->show();
    return app.exec();
}

     
[p:4]
[ 此贴被wuxian610在2005-11-04 13:09重新编辑 ]
快速回复
限100 字节
 
上一个 下一个