2016-08-13 34 views
0

使用的图像,我非常新的Qt和在Qt Quick的努力如何在QML

import QtQuick 2.5 
Image { 
    id: root 
    source: "Background.png" 
} 

应用 并收到以下错误

QRC:/main.qml:3: 1:QML Image:无法打开:qrc:/Background.png

对于类似但较老的问题,建议我们需要将图像放在Resource文件夹中,但Resources文件夹只是一个伪文件夹,在文件夹树中不可见。
那么我怎样才能将图像放在资源文件夹中,否则我该如何使用它?

回答

1

看看Qt resource system。实质上,您将创建一个.qrc文件,您可以在其中列出资源,并将其添加到应用程序.pro文件中的RESOURCES变量中。您也可以在Qt Creator中完成所有这些工作,并且默认的Qt Quick Application模板已经有了资源设置,所以您只需要在那里添加您的background.png

+0

虽然这个工作,我不知道是否没有解决方案,允许显示图片,不添加到qrc。用例可以是图像查看器,用户应该可以在运行时添加图片。 – derM

+0

你可以。这只是你的main.qml在qrc:/所以Qt试图在同一个地方查找background.png。如果将它放在文件系统上,则需要使用完整路径来告诉Qt它在哪里。 Qt无法猜测或扫描文件系统以找出“background.png”的位置。 :) – jpnurmi

+0

通常使用相对路径,这通常是很好定义的。 这里的问题是,QML已经被列为资源,所以所有的相对路径都与封闭的资源系统有关。如果您的QML文件不在资源系统本身中,则可以使用相对图像路径。具有所有的影响。 – derM