aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/qtquick/qtquick-properties.qdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/qtquick/qtquick-properties.qdoc')
-rw-r--r--doc/src/qtquick/qtquick-properties.qdoc250
1 files changed, 250 insertions, 0 deletions
diff --git a/doc/src/qtquick/qtquick-properties.qdoc b/doc/src/qtquick/qtquick-properties.qdoc
new file mode 100644
index 00000000000..95b5e41f121
--- /dev/null
+++ b/doc/src/qtquick/qtquick-properties.qdoc
@@ -0,0 +1,250 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt Creator documentation.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** 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. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+**
+****************************************************************************/
+
+/*!
+ \contentspage {Qt Creator Manual}
+ \previouspage qtquick-navigator.html
+ \page qtquick-properties.html
+ \nextpage qmldesigner-pathview-editor.html
+
+ \title Specifying Item Properties
+
+ The \uicontrol Properties pane displays all the properties of the selected
+ item. The properties are grouped by type. The top part of the pane displays
+ properties that are common to all QML types, such as position, size, and
+ visibility.
+
+ The bottom part of the pane displays properties that are specific to each
+ QML type. For example, the following image displays the properties you can
+ set for \uicontrol Rectangle (1) and \uicontrol Text (2) items.
+
+ \image qmldesigner-element-properties.png
+
+ To change the item type, double-click the \uicontrol Type field in the
+ \uicontrol Properties pane, and enter the name of another QML type in the
+ field. If you have specified properties for the item that are not supported
+ for the new type, the type cannot be changed and an error message is
+ displayed. Select the \uicontrol Nut menu next to the property name, and
+ then select \uicontrol Reset to remove the property values before trying
+ again.
+
+ To return an item to its implicit position after moving it, select the
+ \inlineimage qtcreator-reset-position-icon.png
+ (\uicontrol {Reset Position}) button on the toolbar. To return it to its
+ implicit size, select \inlineimage qtcreator-reset-size-icon.png
+ (\uicontrol {Reset Size}) button.
+
+ To set the visibility of the item, select \uicontrol Edit >
+ \uicontrol Visibility in the context menu.
+
+ To specify the color of the selected item in the \uicontrol {Select Color}
+ dialog, select \uicontrol {Edit Color} in the context menu.
+
+ For more information on the properties available for an item, press
+ \key {F1}.
+
+ \section1 Viewing Changes in Properties
+
+ The default values of properties are displayed in white color, while the
+ values that you specify explicitly are highlighted with blue color. In
+ addition, property changes in states are highlighted with blue.
+
+ This allows you to easily see which values are set in the UI form or QML
+ file and which values are default characteristics of a QML type or a
+ component.
+
+ When editing states, you can easily see which values are explicitly set in
+ the current state and which values are derived from the base state.
+
+ The following images illustrate this. In the base state, the \uicontrol Size
+ (1) and \uicontrol Colors (2) values are explicitly set and highlighted.
+
+ \image qmldesigner-properties-explicit-base.png "Explicitly set properties"
+
+ In \uicontrol State1, only the color (1) is explicitly set and highlighted.
+
+ \image qmldesigner-properties-explicit-state1.png "Explicitly set properties"
+
+ Resetting a property sets it back to the default value and removes the value
+ from the UI form or QML file.
+
+ \note As a result, all boolean values can be visualized in four different
+ ways.
+
+ For example, visibility can be visualized as follows:
+
+ \table
+ \row
+ \li \image qmldesigner-boolean-true.png
+ \li TRUE
+ \li The QML type is visible by default. The visibility might be
+ overridden by the visibility set in the base state.
+ \row
+ \li \image qmldesigner-boolean-true-blue.png
+ \li TRUE (highlighted)
+ \li The QML type is explicitly set to visible.
+ \row
+ \li \image qmldesigner-boolean-false.png
+ \li FALSE
+ \li The QML type is hidden by default. The visibility might be
+ overridden by the visibility set in the base state.
+ \row
+ \li \image qmldesigner-boolean-false-blue.png
+ \li FALSE (hightlighted)
+ \li The type is explicitly set to hidden.
+ \endtable
+
+ \section1 Marking Text Items for Translation
+
+ To support translators, mark each text item that should be translated.
+ In the \uicontrol Properties pane, \uicontrol Text field, select \uicontrol tr (1).
+
+ \image qmldesigner-text-property-tr.png "Text properties"
+
+ By default, the text string is enclosed in a \c qsTr() call.
+
+ \image qml-translate.png "Text marked for translation"
+
+ If you use text IDs instead of plain text, change the default call to
+ \c qsTrId(). Select \uicontrol Tools > \uicontrol Options >
+ \uicontrol {Qt Quick} > \uicontrol {\QMLD}, and then select the
+ \uicontrol {qsTrId()} radio button in the \uicontrol Internationalization
+ group. For more information about text ID based translations, see
+ \l {Qt Linguist Manual: Text ID Based Translations}.
+
+ To preserve the context when editing the text or to change the context
+ by setting a binding on the text property, change the default call to
+ \c qsTranslate() by selecting the \uicontrol {qsTranslate()} radio button.
+
+ For more information, see
+ \l {Internationalization and Localization with Qt Quick}.
+
+ \section1 Loading Placeholder Data
+
+ The Design mode supports views, models, and delegates, so that when you add
+ a Grid View, List View, or Path View item, the ListModel and the delegate
+ item are added automatically.
+
+ However, the missing context of the application presents a challenge.
+ Specific models defined in C++ are the most obvious case. Often,
+ the context is missing simple properties, which are either defined in C++,
+ or in other QML files. A typical example is an item that uses the
+ properties of its parent, such as \c parent.width.
+
+ \section2 Using Dummy Models
+
+ If you open a file in the Design mode that references a C++ model, you see
+ nothing on
+ the canvas. If the data in the model is fetched from the internet, you have
+ no control over it. To get reliable data, \e {dummy data} was introduced.
+
+ For example, the following code snippet describes the file example.qml that
+ contains a ListView that in turn specifies a C++ model:
+
+ \qml
+ ListView {
+ model: dataModel
+ delegate: ContactDelegate {
+ name: name
+ }
+ }
+ \endqml
+
+ Create a directory named \e dummydata in the root directory of the project,
+ so that it is not deployed to the device. In the \c dummydata directory,
+ create a QML file that has the same name as the value of \c model:
+
+ \code
+ qml/exampleapp/example.qml
+ dummydata/dataModel.qml
+ \endcode
+
+ Then create the dataModel.qml file that contains the dummy data:
+
+ \qml
+ import QtQuick 1.0
+
+ ListModel {
+ ListElement {
+ name: "Ariane"
+ }
+ ListElement {
+ name: "Bella"
+ }
+ ListElement {
+ name: "Corinna"
+ }
+ }
+ \endqml
+
+ \section2 Creating Dummy Context
+
+ The following example presents a common pattern in QML:
+
+ \qml
+ Item {
+ width: parent.width
+ height: parent.height
+ }
+ \endqml
+
+ This works nicely for applications but the Design mode displays a zero-sized
+ item. A parent for the opened file does not exist, because the context is
+ missing. To get around the missing context, the idea of a \e {dummy
+ context} is introduced. If you place a file with the same name as the
+ application (here, example.qml) in the \c {dummydata/context} directory,
+ you can fake a parent context:
+
+ \qml
+ import QtQuick 1.0
+ import QmlDesigner 1.0
+
+ DummyContextObject {
+ parent: Item {
+ width: 640
+ height: 300
+ }
+ }
+ \endqml
+
+ \section1 Building Transformations on Items
+
+ The \uicontrol Advanced pane allows you to configure advanced
+ transformations, such as rotation, scale, and translation. You
+ can assign any number of transformations to an item. Each
+ transformation is applied in order, one at a time.
+
+ For more information on Transform types, see \l{Transform}.
+
+ \section1 Editing Properties Inline
+
+ You can double-click objects on the canvas to edit their text, color,
+ or source properties inline. Because you can specify several of these
+ properties for some QML types, such as \l [QML]{TextEdit}{Text Edit},
+ you can also right-click objects to open the inline editors from a
+ context-menu.
+
+ \image qmldesigner-inline-editing.png
+*/