我写了个图片浏览器程序,在自己的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)) ;    
}