问题已解决,感谢iiiyyyhhhsss ,问题出在qrc文件,
路径设置不对
新建prefix默认为/new/prefix1
所以路径为“:/new/prefix1/images/wind800600.png”    
感谢iiiyyyhhhsss 我测试了,是图片加载问题, 
QString file=QString::fromUtf8(":images/wind800600.png"); 
ImageShow=_image.load(file,"PNG"); 
qDebug("ImageShow=%s\n",ImageShow?"TRUE":"FALSE"); 
显示是FALSE; ImageShow=FALSE
QImage::scaled: Image is a null image
QImage::scaled: Image is a null image
我现在PNG图片放在项目文件下images目录下,名称是wind800600.png,在qrc资源文件里已将图片加入,请问使用方法有错误吗? 
_image.load(":images/wind800600.png"); 
直接load我也试过,结果都是黑屏 
原文如下: 
21、如何显示一个图片并使其随窗体同步缩放 
答:下面给出一个从QWidget派生的类ImageWidget,来设置其背景为一个图片,并可随着窗体改变而改变,其实从下面的代码中可以引申出其它许多方法,如果需要的话,可以从这个类再派生出其它类来使用。 
头文件: ImageWidget.hpp 
Quote:#ifndef IMAGEWIDGET_HPP 
#define IMAGEWIDGET_HPP 
#include <QtCore> 
#include <QtGui> 
class ImageWidget : public QWidget 
{ 
    Q_OBJECT 
public: 
    ImageWidget(QWidget *parent = 0, Qt::WindowFlags f = 0); 
    virtual ~ImageWidget(); 
protected: 
    void resizeEvent(QResizeEvent *event); 
private: 
    QImage _image; 
}; 
#endif 
CPP文件: ImageWidget.cpp 
Quote:#include "ImageWidget.hpp" 
ImageWidget::ImageWidget(QWidget *parent, Qt::WindowFlags f) 
    : QWidget(parent, f) 
{    
_image.load("image/image_background");     setAutoFillBackground(true);   // 这个属性一定要设置 
    QPalette pal(palette()); 
    pal.setBrush(QPalette::Window, 
                QBrush(_image.scaled(size(), Qt::IgnoreAspectRatio, 
                        Qt::SmoothTransformation))); 
    setPalette(pal); 
} 
ImageWidget::~ImageWidget() 
{ 
} 
// 随着窗体变化而设置背景 
void ImageWidget::resizeEvent(QResizeEvent *event) 
{ 
    QWidget::resizeEvent(event); 
    QPalette pal(palette()); 
    pal.setBrush(QPalette::Window, 
                QBrush(_image.scaled(event->size(), Qt::IgnoreAspectRatio, 
                        Qt::SmoothTransformation))); 
    setPalette(pal); 
}
[ 此帖被kingnight在2009-09-20 14:26重新编辑 ]