在应用程序构建中包含QML源的首选方法是什么?

时间:2010-10-11 10:54:02

标签: build qt4 qmake qml

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

假设我有一个QML项目,我希望使用这样的语法在QDeclarativeView内显示:

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

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

OTHER_FILES += \
    foobar.qml

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

2 个答案:

答案 0 :(得分:7)

一个明显的解决方案是通过Qt resource system包含QML源。关于deploying QML based applications的文档页面暗示了这一点。

编辑:这是complete solution。我应该学习RTFM。

答案 1 :(得分:3)

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