2017-08-03 305 views
0

我要去练this example为此,我创建了一个名为MAIN2一个Qt Quick的控制台2应用项目使用Qt 造物主4.3.0上Windows 7机器。如何添加一个QML项目图像的路径正确

main.qml的代码看起来是这样的: like this,我得到的应用程序输出窗口下面的错误:

该方案已完成意外。
C:\ Users \ Abbasi \ Documents \ QML \ Main2 \ Main2 \ build-Main2-Desktop_Qt_5_9_0_MinGW_32bit-Debug \ debug \ Main2.exe崩溃。
正在启动C:\ Users \ Abbasi \ Documents \ QML \ Main2 \ Main2 \ build-Main2-Desktop_Qt_5_9_0_MinGW_32bit-Debug \ debug \ Main2.exe ...
已启用QML调试。只能在安全的环境中使用。

什么问题的路径或任何东西请吗?

图像位于桌面上名为的图像文件夹中。如何将它们移动到项目下的文件夹中,请一步一步的表示?

回答

3
  • 的图像文件夹复制到项目文件夹
  • 右键点击你的项目 - 新增 - Qt的 - 资源文件 - images.qrc
  • 右键点击那个 - 添加现有文件,转到/图像和选择什么要添加
  • 或者,你可以直接使用“添加现有目录”选项从QML只需添加的所有目录中的文件

然后:

Image { source: "images/whatever.jpg" } 

这样,图像整齐地打包在您的可执行文件中。在大多数情况下,这是可以的,除非你有千兆字节的图像。它还有助于防止人们用亵渎版本替换您的图片库);

为图片创建单独的资源文件将为do wonders for your build times

如果你是热衷于文件系统的访问,是绝对的(请不要做在生产中不断)或相对的,你必须在前面加上file://的路径,告诉Qt的你想要的文件系统而不是内部资源。

更新:如您的main.cpp文件所示,实际的问题是您使用的项目模板使用的是QQmlApplicationEngine。您所关注的教程可追溯到前几天,并使用QQuickView。后者可以有任何QML元素作为根,但前者需要有一个ApplicationWindow,这是您没有得到任何输出的原因。因此,你需要用你的现有代码的ApplicationWindow

ApplicationWindow { 
    visible: true 
    width: 640 
    height: 480 

    // your code goes here 
} 
+0

为什么要你不使用'文件:/'生产(除了它建议使用'QImageProvider')?它使添加用户图片变得更加容易。 – derM

+1

警告不利用绝对路径,而不是外部图像。 – dtech

+0

啊我明白了。这是肯定的! – derM

相关问题