我是Ubuntu& Qt的。我需要显示其他长时间操作的忙状态。所以,我只是尝试使用进度条加载等待动画gif文件。
我正在为Qt项目使用Eclipse Editor。
Trolltech /../ imageformat文件夹包含libqgif.so
和libqgif.so.debug
。我也在调试文件夹中复制了这些文件。
loader.gif
已添加到qrc文件中并保存在/Resources
文件夹
在MainWindow类中我添加了标签,在调用setupUi(this)之后,我调用了我的ShowMovie()
函数,如下所示:
ShowMovie() {
QMovie *movie = NULL;
movie = new QMovie(":/Resources/loader.gif");
if(movie->isValid()) {
ui.label_3->setMovie(movie);
movie->start();
}
else
qDebug()<<"Movie is Invalid";
qDebug()<<QImageReader::supportedImageFormats ();
}
始终isValid()函数返回false&amp;我收到电影无效的消息。 最后一个qDebug()返回
("bmp", "gif", "ico", "jpeg", "jpg", "mng", "pbm", "pgm", "png", "ppm",
"svg", "svgz", "tif", "tiff", "xbm", "xpm")
即表示gif支持可用。
我在加载主界面和/或单击按钮之前尝试调用ShowMovie()函数。两者都失败了。
提供有关要纠正的内容的帮助。 谢谢。
答案 0 :(得分:0)
您无需复制librairies文件*.so
。
尝试使用loader.gif
的完整路径创建电影对象。它有用吗?
然后您没有正确设置您的资源系统。
你在qrc文件中有一个语法错误需要修复,或者你忘了使用
将它作为资源添加到项目文件(.pro
)中
RESOURCES = myqresource.qrc