summaryrefslogtreecommitdiffstats
path: root/doc/src/howtos/qmlbestpractices/qmlbestpractices-coding.qdoc
blob: 6c83c807e329c94f5a5e7c61461ee125e767b03f (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qml-best-practices-coding.html
    \ingroup qml-best-practices
    \contentspage QML Best Practices Guides
    \previouspage QML Best Practices Guides
    \startpage QML Best Practices Guides
    \title QML Best Practices: Coding Conventions

    \brief QML Coding Conventions and Importing Files

    There are many different ways to code using QML. These are a set of
    guidelines to help your code look better and consistent.

    \section1 Coding Conventions

    The official QML Coding Conventions may be found at
    \l {QML Coding Conventions}. This is the recommended convention that will be
    used throughout the QML documentation.

    In addition, Qt's official code style may be found at the \l {Qt Coding Style}.

    \section1 Importing Files into QML

    To import items such as directories, use the "import" keyword, similar to
    the way the \c {import QtQuick 1.0} statement is used.

    \qml
    import QtQuick 1.0
    import QtWebKit 1.0
    import "subdirectory"
    import "script.js"
    \endqml

    To facilitate the importation of QML components, it is best to begin the QML
    file with an uppercase character. This way, the user can simply declare the
    component using the file name as the component name. For example, if a QML
    component is in a file named \c Button.qml, then the user may import the
    component by declaring a \c {Button {}}. Note that this method only works if
    the QML files are in the same directory.

    \qml
    import QtQuick 1.0

    Rectangle {
        width: 50; height: 50

        Button {}   //Button is defined in Button.qml in the same directory
    }
    \endqml

    It is also possible to import QML files which have file names that begin in
    lower case or files in a different directory by using a \c qmldir file.

    A \c qmldir file tells your QML application which QML components, plugins,
    or directories to import. The \c qmldir file must reside in an imported
    directory.

    \code
    //A very simple qmldir file

    Button ./custom.qml         //a QML component called Button in the file custom.qml
    plugin FilePlugin ./plugins //a plugin called FileDialog in the plugins directory
    \endcode

    By using the \c qmldir file, users may import any QML file and assign any
    valid QML component name to the component.
*/