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

teu*_*kam 8 qmake build qt4 qml

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

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

view = new QDeclarativeView(QUrl::fromLocalFile("foobar.qml"));
Run Code Online (Sandbox Code Playgroud)

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

OTHER_FILES += \
    foobar.qml
Run Code Online (Sandbox Code Playgroud)

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

teu*_*kam 7

一个明显的解决方案是通过Qt的资源系统包含QML源.这是关于部署基于QML的应用程序的doc页面上的暗示.

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