我要练习this example,为此我使用Qt Creator创建了一个名为 Main2 的 Qt Quick Console 2应用程序项目Windows 7计算机上的4.3.0 。
main.qml 的代码如下所示: 我在应用程序输出窗口中收到以下错误:
该程序意外完成 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调试。只能在安全的环境中使用它。
路径或问题有什么问题?
图像位于桌面上名为 images 的文件夹中。如何将它们移动到项目下的文件夹中,一步一步意味着什么?
答案 0 :(得分:3)
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
}
答案 1 :(得分:0)
使用 qrc:带有图片 URL 可能会起作用
Image { source: "qrc:images/whatever.jpg" }