• 11145阅读
  • 11回复

Qt 4.5.3无法显示jpeg和gif图片 [复制链接]

上一主题 下一主题
离线ychwn
 

只看楼主 倒序阅读 楼主  发表于: 2009-12-25
— 本帖被 XChinux 执行加亮操作(2010-01-21) —
下面是编译Qt库时的选项:
./configure -release -shared -opensource -fast -no-feature-QWS_CURSOR -no-feature-STYLE_MOTIF -no-feature-STYLE_CDE -no-feature-STYLE_CLEANLOOKS -no-feature-STYLE_WINDOWSXP -no-feature-STYLE_WINDOWSVISTA -no-feature-STYLE_WINDOWSCE -no-feature-STYLE_WINDOWSMOBILE -no-largefile -qt3support -no-accessibility -no-svg -no-webkit -no-scripttools -xplatform qws/linux-arm-g++ -embedded arm -qt-gfx-linuxfb -no-gfx-transformed -no-gfx-multiscreen -no-gfx-vnc -no-gfx-qvfb -no-kbd-tty -no-kbd-usb -no-kbd-sl5000 -no-kbd-yopy -no-kbd-vr41xx -no-kbd-qvfb -qt-libtiff -little-endian -qt-libpng -no-libmng -qt-libjpeg -no-openssl -qt-freetype -no-opengl -no-phonon -no-phonon-backend -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-odbc -no-sql-psql -no-sql-sqlite -no-sql-sqlite2 -no-sql-tds -make libs -make tools -nomake examples -nomake docs -nomake demo -no-glib -no-cups -no-nis -no-mouse-qvfb -qt-mouse-tslib -I /usr/local/tslib/include -L /usr/local/tslib/lib

在 ARM+Linux 上运行程序无法显示jpeg和gif图片。

将plugins里面的文件复制到$QTDIR/plugins目录,还是无法显示。

设置export QT_PLUGIN_PATH=$QTDIR/plugins,程序无法运行,段错误。不设置该环境变量或者随便设置一个错误值,程序能运行,不能显示jpeg和gif图片

请问在程序或者工程文件中是不是要额外设置什么?

已经郁闷了2天,还麻烦各位帮忙指点一下,谢谢
[ 此帖被ychwn在2009-12-25 16:39重新编辑 ]
离线spaced
只看该作者 1楼 发表于: 2009-12-25
在你的app相同路径下建立一个qt.conf文件,里面写
[Paths]
Prefix = /yourpath/qte
然后把qt的库放在/yourpath/qte/lib下面,将plugin的库放在/yourpath/qte/plugins下面
要显示JPEG和GIF图片,需要在/yourpath/qte/plugins下面建立文件夹imageformats,然
后将libqgif.so,libqjpeg.so放在/yourpath/qte/plugins/imageformats下面
离线ychwn

只看该作者 2楼 发表于: 2009-12-25
谢谢,我试试
离线ychwn

只看该作者 3楼 发表于: 2009-12-25
引用第1楼spaced于2009-12-25 16:00发表的  :
在你的app相同路径下建立一个qt.conf文件,里面写
[Paths]
Prefix = /yourpath/qte
然后把qt的库放在/yourpath/qte/lib下面,将plugin的库放在/yourpath/qte/plugins下面
要显示JPEG和GIF图片,需要在/yourpath/qte/plugins下面建立文件夹imageformats,然
.......


谢谢spaced。

试了一下,还是没有显示jpeg和gif图片,需要设置什么环境变量或者需要修改.pro文件吗?

我看见网上有人讲要在.pro文件中添加QTPLUGIN += qjpeg并设置export QT_PLUGIN_PATH=$QTDIR/plugins
离线spaced
只看该作者 4楼 发表于: 2009-12-25
我的pro文件没有添加QTPLUGIN += qjpeg之类的
我的环境变量如下
export QTDIR=/yourpath/qte
export QTEDIR=$QTDIR
export QT_QWS_FONTDIR=$QTDIR/fonts
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

我的应用程序可以正常显示JPEG和GIF图片
离线ychwn

只看该作者 5楼 发表于: 2009-12-25
我和你的环境变量一样,无法显示

QImage *image=new QImage(“image.jpg”);
QImage *temp=0;
        
if(image)
{
    temp=new QImage(image->scaled(width(),height()));
    delete image;
}

错误:
QImage::scaled: Image is a null image
离线spaced
只看该作者 6楼 发表于: 2009-12-25
你试试把
QImage *image=new QImage(“image.jpg”);
改为
QImage *image=new QImage(“:/image.jpg”);
或者改为绝对路径的
离线ychwn

只看该作者 7楼 发表于: 2009-12-25
使用绝对路径还是一样……

png图片能正常显示
离线ychwn

只看该作者 8楼 发表于: 2009-12-25
QImageWriter::supportedImageFormats()打印出来:

bmp,png,ppm,xbm,xpm
离线ychwn

只看该作者 9楼 发表于: 2009-12-30
已经搞定了,在main函数中加入放插件的目录路径,例如:

QCoreApplication::addLibraryPath("/qt/qt/plugins");

再次感谢spaced的回复
离线omegas
只看该作者 10楼 发表于: 2010-01-21
各位好,

            我遇到差不多的問題,在我的QT 程序QPUSHBUTTON里放JPG但不能显示,是不是用以上方法就可以?謝謝!
离线numen

只看该作者 11楼 发表于: 2010-04-08
qt 4.5应该默认指定rpath了吧,
是不是没有把plugin放在默认路径下啊
欢迎访问我的blog:
http://www.cnblogs.com/baizx
快速回复
限100 字节
 
上一个 下一个