aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickcontrols/doc/src/qtquickcontrols-deployment.qdoc
blob: c4485c81f1b7d617523af2c8550f155d684064a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!
    \page qtquickcontrols-deployment.html
    \title Deploying Qt Quick Controls Applications

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

    \section1 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:

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

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

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

    \code
    [Controls]
    Style=Universal

    [Universal]
    Theme=Dark
    Accent=Red
    \endcode

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

    \code
    [Controls]
    Style=Material

    [Material]
    Theme=Light
    Accent=Brown
    \endcode

    \section1 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, \c qmake uses
    \c 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 \l {Deploying an Application with Several Styles}
    section, so that only the minimum set of files that are necessary for a
    particular device are deployed.

    \sa {Deploying Qt Applications}, {Using Styles in Qt Quick Controls}
*/