qtquick-ui-forms.qdoc 3.15 KB
Newer Older
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
/****************************************************************************
**
** Copyright (c) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of Qt Creator
**
**
** 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.
**
**
****************************************************************************/

// **********************************************************************
// NOTE: the sections are not ordered by their logical order to avoid
// reshuffling the file each time the index order changes (i.e., often).
// Run the fixnavi.pl script to adjust the links to the index order.
// **********************************************************************

/*!

    \contentspage {Qt Creator Manual}
    \previouspage quick-projects.html
    \page creator-quick-ui-forms.html
    \nextpage creator-using-qt-quick-designer.html

    \title Qt Quick UI Forms

Thomas Hartmann's avatar
Thomas Hartmann committed
34
    You can use \QC wizards to create UI forms that have the filename extension
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
    \e .ui.qml. The UI forms contain a purely declarative subset of the QML
    language. It is recommended that you edit the forms in the \gui Design mode.
    \QC enforces the use of the supported QML features by displaying error
    messages.

    The following features are not supported:

    \list
        \li JavaScript blocks
        \li Function definitions
        \li Function calls (except \c qsTr)
        \li Other bindings than pure expressions
        \li Signal handlers
        \li States in other items than the root item
        \li Root items that are not derived from \l QQuickItem or \l Item
    \endlist

    The following types are not supported:

    \list
        \li Behavior
        \li Binding
        \li Canvas
        \li Component
        \li Shader Effect
        \li Timer
        \li Transform
        \li Transition
    \endlist

    \section1 Using Qt Quick UI Forms

    You can edit the forms in the \gui Design mode. Items that are supposed to
    be used in QML code have to be exported as properties:

    \code
    Item {
        width: 640
        height: 480

        property alias button: button

        Button {
            anchors.centerIn: parent
            id: button
            text: qsTr("Press Me")
        }
    }
    \endcode

    The property alias exports the button to the QML code that uses the form.
86
    You can use the
87
    \inlineimage qmldesigner-export-item-button.png
88 89
    (\gui Export) button in the \gui Navigator to export an item as a property
    (commercial only):
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

    \image qmldesigner-export-item.png

    In the QML file that uses the form, you can use the \c button property alias
    to implement signal handlers, for example. In the following code snippet,
    the UI form is called \e MainForm.ui.qml:

    \code
    MainForm {
        anchors.fill: parent
        button.onClicked: messageDialog.show(qsTr("Button pressed"))
    }
    \endcode

    You can also assign properties or define behavior or transitions.

*/