aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc')
-rw-r--r--src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc44
1 files changed, 31 insertions, 13 deletions
diff --git a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc b/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
index 6ab649d0..58138a07 100644
--- a/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
+++ b/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc
@@ -112,7 +112,7 @@
\section2 Definition of a Style
In Qt Quick Controls, a style is essentially an interchangeable set of
- QML files within a single directory. There are three requirements for a style
+ QML files within a single directory. There are four requirements for a style
to be \l {Using Styles in Qt Quick Controls}{usable}:
\list
@@ -125,21 +125,37 @@
If we instead used the corresponding type from the \l {Qt Quick Controls}
{QtQuick.Controls} import as we did in the previous section, it would not work:
the control we were defining would try to derive from itself.
- \li The files must be in a directory in the filesystem or in the
- \l {The Qt Resource System}{resource system}.
+ \li A \l {Module Definition qmldir Files}{qmldir} file must exist alongside
+ the QML file(s). Below is an example of a simple \c qmldir file for a style that
+ provides a button:
- For example, these are all valid paths to a style:
+ \badcode
+ module MyStyle
+ Button 2.15 Button.qml
+ \endcode
+
+ The directory structure for such a style looks like this:
+
+ \badcode
+ MyStyle
+ ├─── Button.qml
+ └─── qmldir
+ \endcode
+ \li The files must be in a directory that is findable via the \l {QML Import Path}.
+
+ For example, if the path to \e MyStyle directory mentioned above was
+ \c /home/user/MyApp/MyStyle, then \c /home/user/MyApp must be added to
+ the QML import path.
+
+ To \l {Using Styles in Qt Quick Controls}{use} \e MyStyle in \e MyApp,
+ refer to it by name:
\list
- \li \c {./myapp -style /home/absolute/path/to/my/style}
- \li \c {./myapp -style :/mystyle}
- \li \c {./myapp -style relative/path/to/my/style}
- \li \c {./myapp -style MyStyle}
+ \li \c {./MyApp -style MyStyle}
\endlist
- The third and fourth paths will be looked up within the QML engine's import path
- list. This is the same as what happens when you pass \c Material as the style,
- for example.
+ The style name must match the casing of the style directory; passing
+ \e mystyle or \e MYSTYLE is not supported.
\endlist
By default, the styling system uses the Default style as a fallback for
@@ -302,7 +318,7 @@
style will illustrate the elevation with a drop shadow; the higher the
elevation, the larger the shadow.
- The first step is to \l {Qt Creator: Creating Qt Quick Projects}{create a new Qt Quick
+ The first step is to \l {Creating Qt Quick Projects}{create a new Qt Quick
Controls 2 application} in Qt Creator. After that, we
\l {Qt Creator: Creating C++ Classes}{add a C++ type} that stores the elevation. Since
the type will be used for every control supported by our style, and because
@@ -390,6 +406,8 @@
qmlRegisterUncreatableType<MyStyle>("MyStyle", 1, 0, "MyStyle", "MyStyle is an attached property");
QQmlApplicationEngine engine;
+ // Make the directory containing our style known to the QML engine.
+ engine.addImportPath(":/");
engine.load(QUrl(QLatin1String("qrc:/main.qml")));
return app.exec();
@@ -465,7 +483,7 @@
One button has no elevation, and the other has an elevation of \c 10.
With that in place, we can run our example. To tell the application to
- use our new style, we pass \c {-style :/mystyle} as an application
+ use our new style, we pass \c {-style MyStyle} as an application
argument, but there are \l {Using Styles in Qt Quick Controls}{many
ways} to specify the style to use.