部署 Qt Quick 控件应用程序#

Qt Quick 控件应用程序的部署与其他类型 Qt 应用程序的部署非常相似。但是,需要考虑一些因素。

部署具有多个样式的应用程序#

假设你有应用程序将被部署到 Android 和 Windows 设备。为了确保每个设备仅部署应用程序运行所需的最小文件集,你可以使用文件选择器。例如,你的目录结构可能如下所示:

resources.qrc
main.qml
+windows/MyPage.qml
+windows/qtquickcontrols2.conf
+android/MyPage.qml
+android/qtquickcontrols2.conf

在上面的项目中,《main.qml》将导入《QtQuick.Controls》,例如,但不应该导入,例如,《QtQuick.Controls.Material》。任何特定于样式的代码都被移到单独的文件中;就像我们对《MyPage.qml》所做的那样。

《+windows/qtquickcontrols2.conf》文件将包含特定于通用样式的配置选项

[Controls]
Style=Universal

[Universal]
Theme=Dark
Accent=Red

《+android/qtquickcontrols2.conf》文件将包含特定于 Material 样式的配置选项

[Controls]
Style=Material

[Material]
Theme=Light
Accent=Brown

静态构建#

对于动态构建的应用程序,不需要导入特定样式,该样式可供该应用程序使用。对于静态构建的应用程序,Qt 的构建系统必须参与其中以确保 QML 插件按预期运行。具体来说,《qmake》使用《qmlimportscanner》来扫描应用程序中的 QML 文件以查找导入语句。因此,任何需要由静态构建的应用程序使用的样式必须显式导入该样式。导入发生的位置由开发者决定,但建议遵循部署具有多个样式的应用程序部分中提到的方法,以便仅部署特定于特定设备的必要最小文件集。