Build 什么';在应用程序构建中包含QML源的首选方式是什么? 我正在构建一个应用混合UI技术的应用程序(主要包括C++和一些QML组件)。

Build 什么';在应用程序构建中包含QML源的首选方式是什么? 我正在构建一个应用混合UI技术的应用程序(主要包括C++和一些QML组件)。,build,qt4,qmake,qml,Build,Qt4,Qmake,Qml,假设我有一个QML项,我想在QDeclarativeView中使用如下语法显示它: view = new QDeclarativeView(QUrl::fromLocalFile("foobar.qml")); 我已在Qt Creator中将foobar.qml添加到我的项目中,这会自动将此行添加到.pro文件中: OTHER_FILES += \ foobar.qml 现在,您可能希望将该文件包含到项目中意味着应该将其复制到构建文件夹中,但事实并非如此,并且在运行应用程序时,我发现

假设我有一个QML项,我想在
QDeclarativeView
中使用如下语法显示它:

view = new QDeclarativeView(QUrl::fromLocalFile("foobar.qml"));
我已在Qt Creator中将foobar.qml添加到我的项目中,这会自动将此行添加到.pro文件中:

OTHER_FILES += \
    foobar.qml

现在,您可能希望将该文件包含到项目中意味着应该将其复制到构建文件夹中,但事实并非如此,并且在运行应用程序时,我发现构建文件夹中缺少foobar.qml。我不喜欢添加定制的构建步骤,只是为了复制周围的QML源代码,那么是否有一些“事实上”的方法可以做到这一点?

一个显而易见的解决方案是通过Qt包含QML源代码。这在文档页面上暗示了


编辑:这是你的答案。我应该学习RTFM。

你使用阴影构建吗?如果是这样,应用程序将构建在与源代码并行的目录中。对于测试,您可以更改Qt Creator中的工作目录(左侧栏中的项目,然后执行构建目标)。
使用资源似乎很简单,但每次更改任何资源时都需要重新构建。

我在应用程序中就是这样做的。基本上类似于
view=newqdeclarativeview(QUrl(“qrc:/qml/scene.qml”)是的,资源是正确的选择。除非应用程序生活在一个受保护的环境中——或者你不在乎,在这种情况下,你可以并排发货。在Mac捆绑包中,您通常会将它们放在捆绑包资源文件夹中,如果我想使用qml文件而不是qrc,该怎么办?我希望将qml文件复制到生成目录。我有相同的问题,希望从本地文件而不是qrc加载qml,但它没有复制到生成文件夹。