【问题标题】:QT .png File not showing up on screenQT .png 文件未显示在屏幕上
【发布时间】:2012-01-14 04:18:30
【问题描述】:

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

代码

#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();
}

【问题讨论】:

  • 是的,您错过了这个问题,并且您缺少处理 Qt 资源的资源文件 .qrc

标签: c++ image qt png


【解决方案1】:

试试这个:

在您的代码中:

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

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

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

希望有帮助

【讨论】:

    【解决方案2】:

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

    QPixmap("./image.png")

    否则,您可以从 qrc 文件加载图像:

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

    【讨论】:

      【解决方案3】:

      我不确定,但尝试在创建QApplication 实例后声明QDir 对象

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        • 1970-01-01
        • 1970-01-01
        • 2011-10-18
        相关资源
        最近更新 更多