我正在使用混合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源代码,所以有一些“事实上”的方法吗?
答案 0 :(得分:7)
一个明显的解决方案是通过Qt resource system包含QML源。关于deploying QML based applications的文档页面暗示了这一点。
编辑:这是complete solution。我应该学习RTFM。
答案 1 :(得分:3)
你使用阴影构建吗?如果是这样,应用程序将构建在与源代码并行的目录中。对于测试,您可以更改Qt Creator中的工作目录(左侧栏中的项目,然后是构建目标的执行)。 使用资源似乎是万无一失的,但每次更改任何资源时都需要重建。