8

我正在使用混合 UI 技术构建一个应用程序(主要是 C++,包括一些 QML 组件)。

假设我有一个 QML 项目,我想在这样的QDeclarativeViewusing 语法中显示它:

view = new QDeclarativeView(QUrl::fromLocalFile("foobar.qml"));

我已将 foobar.qml 添加到 Qt Creator 中的项目中,它会自动将此行添加到 .pro 文件中:

OTHER_FILES += \
    foobar.qml

现在,您可能希望将文件包含到项目中以暗示它应该被复制到构建文件夹,但事实并非如此,并且当我运行应用程序时,我收到有关在构建文件夹中丢失 foobar.qml 的错误。我不想添加自定义构建步骤只是为了复制 QML 源代码,所以有一些“事实上的”方法吗?

4

2 回答 2

7

一个明显的解决方案是通过 Qt 的资源系统包含 QML 源代码。这在有关部署基于 QML 的应用程序的文档页面上有所暗示。

编辑:这是完整的解决方案。我应该学习RTFM。

于 2010-10-11T12:03:16.553 回答
3

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

于 2011-01-27T23:14:30.153 回答