1

当我有此代码并手动将 i.png 复制到二进制文件目标时

scene = new QGraphicsScene(this);
QPixmap pixm(qApp->applicationDirPath() + "/i.png");
scene->addPixmap(pixm);
ui->graphicsView->setScene(scene);

图像完全按照我的意愿显示。现在我创建了资源文件 images.qrc。路径设置为 / 并且只包含一个文件 i.png。但是当我将代码更改为:

scene = new QGraphicsScene(this);
QPixmap pixm(":/images/i.png");
scene->addPixmap(pixm);
ui->graphicsView->setScene(scene);

GraphicsView 保持为空。为什么?

有images.qrc

<RCC>
    <qresource prefix="/">
        <file>i.png</file>
    </qresource>
</RCC>
4

2 回答 2

4

":/images/i.png"假设前缀是images. 而是使用

 QPixmap pixm(":/i.png");
于 2013-05-02T09:10:18.233 回答
2

为了指定 :/images/i.png 的位置,我希望资源文件看起来更像这样:-

<RCC>
<qresource prefix="/images">
    <file alias="i">images/i.png</file>
</qresource>
</RCC>
于 2013-05-02T09:11:39.080 回答