QT .png文件未显示在屏幕上

时间:2011-12-06 15:04:54

标签: c++ image qt png

当我编译并运行我的项目时,我似乎得到的是一个白色屏幕。图像确实存在,images文件夹位于项目的根目录中。我所要做的就是将一个简单的图像加载到屏幕上。我有什么具体的遗漏吗?

代码

#include <QtGui/QApplication>
#include <QGraphicsScene>
#include <QGraphicsView>
#include <QGraphicsPixmapItem>
#include <QDir>
#include "chronos_main_window.h"

int main(int argc, char *argv[])
{
    QDir dir;
    QApplication a(argc, argv);
    QGraphicsScene scene;
    //ChronosMainWindow window;
    QGraphicsView view(&scene);
    QGraphicsPixmapItem item(QPixmap(dir.relativeFilePath("images\\ozone_sprite.png"))); //images folder is located in project root dir
    scene.addItem(&item);
    //window.show();
    view.show();

    return a.exec();
}

3 个答案:

答案 0 :(得分:1)

您可以从应用程序的同一目录

加载QPixmap

QPixmap("./image.png")

否则你可以从qrc文件中加载图像:

QPixmap("./image.png") 路径取决于你如何制作qrc文件 我很难解释如何做qrc文件,因为我不是英文。但你可以在互联网上找到很多文档。

答案 1 :(得分:1)

试试这个:

你的代码中的

QGraphicsPixmapItem item(
                     QPixmap(dir.relativeFilePath(":/images/ozone_sprite.png")));

在resource.qrc中(如果你没有它,那么右键单击你的项目。添加新的... - &gt; Qt - &gt; Qt资源文件),然后用纯文本编辑器打开它:

<RCC>
<qresource>
    <file>images/ozone_sprite.png</file>
</qresource>
</RCC>

希望有所帮助

答案 2 :(得分:0)

我不确定,但请在创建QDir

的实例后尝试声明QApplication个对象