summaryrefslogtreecommitdiffstats
path: root/doc/src/declarative/qmlviewer.qdoc
blob: 79877b9e7d79732fcc5a77ed11caa4ae22000a05 (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
95
96
97
98
99
/****************************************************************************
**
** 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 test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** 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 Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 as published by the Free Software
** Foundation and appearing in the file LICENSE.LGPL included in the
** packaging of this file.  Please review the following information to
** ensure the GNU Lesser General Public License version 2.1 requirements
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights.  These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
**
**
**
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qmlviewer.html
    \title Qt Declarative UI Viewer (qmlviewer)
    \ingroup qttools
    \keyword qmlviewer

    This page documents the \e{Declarative UI Viewer} for the Qt GUI
    toolkit. The \c qmlviewer reads a declarative user interface definition
    (\c .qml) file and displays the user interface it describes.

    qmlviewer is a development tool.  It is not intended to be
    installed in a production environment.

    \section1 Options

    When run with the \c -help option, qmlviewer shows available options.

    \section1 Dummy Data

    One use of qmlviewer is to allow QML files to be viewed stand-alone,
    rather than being loaded from within a Qt program. Qt applications will
    usually bind objects and properties into the execution context before
    running the QML. To stand-in for such bindings, you can provide dummy
    data: create a directory called "dummydata" in the same directory as
    the target QML file and create files there with the "qml" extension.
    All such files will be loaded as QML objects and bound to the root
    context as a property with the name of the file (without ".qml").

    For example, if the Qt application has a "clock.time" property
    that is a qreal from 0 to 86400 representing the number of seconds since
    midnight, dummy data for this could be provided by \c dummydata/clock.qml:
    \code
    QtObject { property real time: 12345 }
    \endcode
    Any QML can be used in the dummy data files. You could even animate the
    fictional data!

    \section1 Screen Orientation

    A special piece of dummy data which is integrated into the viewer is
    a simple orientation property. The orientation can be set via the
    settings menu in the application, or by pressing Ctrl+T to toggle it.

    To use this from within your QML file, import QmlViewer 1.0 and create a
    Screen object. This object has a property, orientation, which can be either
    Screen.Landscape or Screen.Portrait and which can be bound to in your
    application. An example is below:

\code
    import QmlViewer 1.0 as QmlViewer
    
    Item {
        QmlViewer.Screen { id: qmlviewerScreen }
        state: (qmlviewerScreen.orientation == QmlViewer.Screen.Landscape) ? 'landscape' : ''
    }
\endcode

*/