我写了个图片浏览器程序,在自己的SUSE linux(装了qt4软件包,静态安装)下运行正常。.jpg格式和bmp格式的图片都能显示。
后来,我把这个程序放在另一个linux下(puppy linux或另一个SUSE,没有装qt4软件包),同时带着libQtCore.so.4、libQtGui.so.4两个库文件,程序也可以运行,但有个问题:.jpg格式的图片在我的程序里显示不出来,但bmp可以。
有人知道这是为什么吗?
我的程序如下:我觉得可能和程序没有什么关系。可能是环境的问题:
Imageviewer::Imageviewer()
{
QDesktopWidget desktop;
pixmap = QPixmap();
setMaximumSize(desktop.size());
}
void Imageviewer::setPixmap(QString filename)
{
pixmap.load(filename) ;
setMinimumSize(pixmap.size());
update() ;
}
void Imageviewer::paintEvent(QPaintEvent *event)
{
QPainter painter(this);
painter.drawPixmap(0,0, pixmap);
}
Imagewindow::Imagewindow()
{
image = new Imageviewer;
setCentralWidget(image);
createActions();
createToolBars();
imageDir.setPath("/mnt/hgfs/share_file/qt_image/") ;
QStringList filter ;
filter << "*.jpg" << "*.bmp" << "*.jpeg" << "*.png" << "*.xpm" ;
imageList = imageDir.entryList(filter, QDir::Files |QDir::NoSymLinks,QDir::Name) ;
image->setPixmap(imageDir.absolutePath() +"/"+ imageList.at(0)) ;
}