aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/doc
diff options
context:
space:
mode:
authorQt Forward Merge Bot <qt_forward_merge_bot@qt-project.org>2018-07-14 01:02:04 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2018-07-16 09:38:30 +0200
commit43645fd59c6bcb0a3e37eef530ef970f51ed48af (patch)
treed377a19c36e9e853377db59b58d937db0ea67e0d /src/quick/doc
parentad0f200df54e5afcb1fdcb977794259bdb9216b5 (diff)
parentf42207cbdb0cbe5e345bfd9e000b3e77b34a503c (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Conflicts: src/quick/items/qquickloader.cpp tests/auto/quick/qquickanimations/tst_qquickanimations.cpp Change-Id: I0cb9f637d24ccd0ecfb50c455cc210119f744b02
Diffstat (limited to 'src/quick/doc')
-rw-r--r--src/quick/doc/images/flickable-contentXY-bottom-left.pngbin0 -> 2780 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-bottom-left.svgzbin0 -> 1575 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-bottom-right.pngbin0 -> 2386 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-bottom-right.svgzbin0 -> 1580 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-resting.pngbin0 -> 430 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-resting.svgzbin0 -> 1083 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-top-left.pngbin0 -> 3025 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-top-left.svgzbin0 -> 1550 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-top-right.pngbin0 -> 2866 bytes
-rw-r--r--src/quick/doc/images/flickable-contentXY-top-right.svgzbin0 -> 1594 bytes
-rw-r--r--src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc54
-rw-r--r--src/quick/doc/src/includes/item.qdocinc6
-rw-r--r--src/quick/doc/src/qtquick-cpp.qdoc2
13 files changed, 49 insertions, 13 deletions
diff --git a/src/quick/doc/images/flickable-contentXY-bottom-left.png b/src/quick/doc/images/flickable-contentXY-bottom-left.png
new file mode 100644
index 0000000000..47d3be4625
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-bottom-left.png
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-bottom-left.svgz b/src/quick/doc/images/flickable-contentXY-bottom-left.svgz
new file mode 100644
index 0000000000..db86262d74
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-bottom-left.svgz
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-bottom-right.png b/src/quick/doc/images/flickable-contentXY-bottom-right.png
new file mode 100644
index 0000000000..eb9eff24c5
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-bottom-right.png
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-bottom-right.svgz b/src/quick/doc/images/flickable-contentXY-bottom-right.svgz
new file mode 100644
index 0000000000..088c1bdf1e
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-bottom-right.svgz
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-resting.png b/src/quick/doc/images/flickable-contentXY-resting.png
new file mode 100644
index 0000000000..11bde53da5
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-resting.png
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-resting.svgz b/src/quick/doc/images/flickable-contentXY-resting.svgz
new file mode 100644
index 0000000000..c8ac118048
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-resting.svgz
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-top-left.png b/src/quick/doc/images/flickable-contentXY-top-left.png
new file mode 100644
index 0000000000..de3d11d283
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-top-left.png
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-top-left.svgz b/src/quick/doc/images/flickable-contentXY-top-left.svgz
new file mode 100644
index 0000000000..bcb6476cd2
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-top-left.svgz
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-top-right.png b/src/quick/doc/images/flickable-contentXY-top-right.png
new file mode 100644
index 0000000000..7f4a16bde1
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-top-right.png
Binary files differ
diff --git a/src/quick/doc/images/flickable-contentXY-top-right.svgz b/src/quick/doc/images/flickable-contentXY-top-right.svgz
new file mode 100644
index 0000000000..32b721cb6b
--- /dev/null
+++ b/src/quick/doc/images/flickable-contentXY-top-right.svgz
Binary files differ
diff --git a/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc b/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
index f27f87e743..c8bdfa28cd 100644
--- a/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
+++ b/src/quick/doc/src/guidelines/qtquick-bestpractices.qdoc
@@ -59,20 +59,19 @@ custom control.
\li \l{Qt Quick}
\endlist
+\omit
\section1 Keep it Short and Simple or "KiSS"
QML being a declarative language, a lot of the details are worked out by the underlying
engine. So it is important for any QML application, especially one with a
larger codebase, to have its code organized in smaller and simpler \c .qml files.
-\omit
-need a few snippet or example applications that showcase this.
+TODO: need a few snippet or example applications that showcase this.
\endomit
-\section2 Related Information
-\list
- \li \l{QML Coding Conventions}
-\endlist
+\section1 Coding Conventions
+
+See \l{QML Coding Conventions}.
\section1 Bundle Application Resources
@@ -338,8 +337,9 @@ must be considered while using them:
\section2 Dos
\list
- \li Use anchors or the item's width and height properties to specify the size
- of the layout against its parent.
+ \li Use \l {Item::}{anchors} or the \l {Item::}{width} and \l {Item::}{height}
+ properties to specify the size of the layout against its non-layout parent
+ item.
\li Use the \l Layout attached property to set the size and alignment
attributes of the layout's immediate children.
\endlist
@@ -347,12 +347,10 @@ must be considered while using them:
\section2 Don'ts
\list
- \li Do not rely on anchors to specify the preferred size of an item in a layout.
- Instead, use \c Layout.preferredWidth and \c Layout.preferredHeight.
\li Do not define preferred sizes for items that provide implicitWidth and
implicitHeight, unless their implicit sizes are not satisfactory.
- \li Do not mix anchors and layouts in ways that cause conflicts. For example,
- do not apply anchor constraints to a layout's immediate children.
+ \li Do not use anchors on an item that is an immediate child of a layout.
+ Instead, use \c Layout.preferredWidth and \c Layout.preferredHeight:
\snippet qml/windowconstraints.qml rowlayout
\endlist
@@ -369,6 +367,36 @@ properties are enough.
\li \l{Qt Quick Layouts Overview}
\endlist
+\section1 Type Safety
+
+When declaring properties in QML, it's easy and convenient to use the "var" type:
+
+\code
+property var name
+property var size
+property var optionsMenu
+\endcode
+
+However, this approach has several disadvantages:
+\list
+ \li If a value with the wrong type is assigned, the error reported will point
+ to the location of the property declaration, as opposed to the location
+ where the property was assigned to. This slows down the development
+ process by making it more difficult to track down errors.
+ \li Static anaylsis to catch errors like the ones mentioned above is not
+ possible.
+ \li The actual underlying type of the property is not always immediately clear
+ to the reader.
+\endlist
+
+Instead, always use the actual type where possible:
+
+\code
+property string name
+property int size
+property MyMenu optionsMenu
+\endcode
+
\section1 Performance
For information on performance in QML and Qt Quick,
@@ -420,7 +448,7 @@ on the display resolution on offer.
\section2 Related Information
\list
- \li \l{Qt Quick Controls 2 - Gallery Example}{Gallery example}
+ \li \l{Qt Quick Controls 2 - Gallery}{Gallery example}
\li \l{Qt Quick Controls 2 - Text Editor}{Text Editor example}
\li \l{Font Awesome}
\li \l{Scalability}
diff --git a/src/quick/doc/src/includes/item.qdocinc b/src/quick/doc/src/includes/item.qdocinc
new file mode 100644
index 0000000000..12472cb928
--- /dev/null
+++ b/src/quick/doc/src/includes/item.qdocinc
@@ -0,0 +1,6 @@
+//! [mapping]
+
+The following properties of the item are used in the mapping:
+\l x, \l y, \l scale, \l rotation, \l transformOrigin, and \l [QML]{Item::}{transform}.
+
+//! [mapping]
diff --git a/src/quick/doc/src/qtquick-cpp.qdoc b/src/quick/doc/src/qtquick-cpp.qdoc
index ca6fe3d0c0..8a1ab915f2 100644
--- a/src/quick/doc/src/qtquick-cpp.qdoc
+++ b/src/quick/doc/src/qtquick-cpp.qdoc
@@ -38,10 +38,12 @@
\snippet code/doc_src_qtquick.cpp 0
+ \if !defined(qtforpython)
To link against the module, add this line to your \l qmake \c
.pro file:
\snippet code/doc_src_qtquick.pro 0
+ \endif
For more information on the Qt Quick module, see the
\l{Qt Quick} module documentation.