Qt 5.11 | Qt Quick Controls 2 | Deploying Qt Quick Controls 2 Applications

Qt 5.11.3 Reference Documentation

# Deploying Qt Quick Controls 2 Applications

Deployment of Qt Quick Controls 2 applications is very similar to deployment of other types of Qt applications. However, there are a few factors to consider.

## Deploying an Application with Several Styles

Suppose you have an application that will be deployed to both Android and Windows devices. To ensure that only the minimum set of files that are necessary for the application to run are deployed to each device, you can use file selectors. For example, your directory structure could look like this:

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

In the project above, `main.qml` would import `QtQuick.Controls`, for example, but shouldn't import, say, `QtQuick.Controls.Material`. Any code that is style-specific is moved out into separate files; just as we've done for `MyPage.qml`.

The `+windows/qtquickcontrols2.conf` file would contain configuration options specific to the Universal style:

      [Controls]
      Style=Universal

      [Universal]
      Theme=Dark
      Accent=Red

The `+android/qtquickcontrols2.conf` file would contain configuration options specific to the Material style:

      [Controls]
      Style=Material

      [Material]
      Theme=Light
      Accent=Brown

## Static Builds

For dynamically built applications, it is not necessary to import a specific style that should be usable by that application. For statically built applications, Qt's build system must be involved to ensure that QML plugins function as expected. Specifically, `qmake` uses `qmlimportscanner` to scan the QML files in your application for import statements. For this reason, any styles that should be usable by a statically built application must explicitly import that style. Where the import occurs is up to the developer, but it is recommended to follow the approach mentioned in the Deploying an Application with Several Styles section, so that only the minimum set of files that are necessary for a particular device are deployed.

See also Deploying Qt Applications.