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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
|
/****************************************************************************
**
** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
** Contact: Qt Software Information (qt-info@nokia.com)
**
** This file is part of the documentation 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 either Technology Preview License Agreement or the
** Beta Release License Agreement.
**
** 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.0, included in the file LGPL_EXCEPTION.txt in this
** package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU
** General Public License version 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Please review the following information to
** ensure the GNU General Public License version 3.0 requirements will be
** met: http://www.gnu.org/copyleft/gpl.html.
**
** If you are unsure which license is appropriate for your use, please
** contact the sales department at qt-sales@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page basicqmltypes.html
\title Common QML Types
QML uses a range of property types, which you will see
referenced throughout the element documentation. Almost all of them are
exactly what you would expect.
\target basicqmlint
\section1 int
An integer or \c int is a whole numbers like 0, 10 or -20. The possible \c int
values range from around -2000000000 to around 2000000000, although most
elements will only accept a reduced range (which they mention in their
documentation).
Example:
\qml
Item { width: 100; height: 200 }
\endqml
\target basicqmlbool
\section1 bool
A boolean or \c bool is a binary true/false value.
Example:
\qml
Item { focus: true; clip: false }
\endqml
\target basicqmlreal
\section1 real
A \c real is a number - either a whole number like an \c int, or a fractional number
like 1.2 or -29.8.
Example:
\qml
Item { width: 100.45; height: 150.82 }
\endqml
\note In QML all reals are stored in single precision, \l {http://en.wikipedia.org/wiki/IEEE_754}{IEEE floating point} format.
\target basicqmlstring
\section1 string
A string is a free form text, like "Hello world!".
Example:
\qml
Text { text: "Hello world!" }
\endqml
\target basicqmlurl
\section1 url
A URL is a resource locator, like a file name. It can be either absolute, like "http://qtsoftware.com",
or relative, like "pics/logo.png". A relative URL is resolved relative to the URL of the component where
the URL is converted from a JavaScript string expression to a url property value.
Example:
\qml
Image { source: "pics/logo.png" }
\endqml
\raw HTML
\endraw
\target basicqmlcolor
\section1 color
A \c color is most commonly specified as an \l {http://www.w3.org/TR/SVG/types.html#ColorKeywords}{SVG color name}. These names include colors like
"red", "green" and "lightsteelblue".
If the color you want isn't part of this list, colors can also be specified
in hexidecimal triplets or quads that take the form \c "#RRGGBB" and
\c "#AARRGGBB" respectively. For example, the color red corresponds to a
triplet of \c "#FF0000" and a slightly transparent blue to a quad of
\c "#800000FF".
Example:
\qml
Rectangle { color: "steelblue" }
Rectangle { color: "#FF0000" }
Rectangle { color: "#800000FF" }
\endqml
\target basicqmlpoint
\section1 point
A \c point is specified in \c "x,y" format.
Example:
\qml
Widget { pos: "0,20" }
\endqml
\target basicqmlsize
\section1 size
A \c size is specified in \c "widthxheight" format.
Example:
\qml
Widget { size: "150x50" }
\endqml
\target basicqmlrectangle
\section1 rect
A \c rect is specified in \c "x,y,widthxheight" format.
Example:
\qml
Widget { geometry: "50,50,100x100" }
\endqml
\target basicqmldate
\section1 date
A \c date is specified in \c "YYYY-MM-DD" format.
Example:
\qml
DatePicker { minDate: "2000-01-01"; maxDate: "2020-12-31" }
\endqml
\target basicqmltime
\section1 time
A \c time is specified in \c "hh:mm:ss" format.
Example:
\qml
TimePicker { time: "14:22:15" }
\endqml
\target basicqmlfont
\section1 font
The \c font type has the following properties of a QFont:
\list
\o \c string font.family
\o \c bool font.bold
\o \c bool font.italic
\o \c bool font.underline
\o \c real font.pointSize
\o \c int font.pixelSize
\endlist
Example:
\qml
Text { font.family: "Helvetica"; font.pointSize: 13; font.bold: true }
\endqml
\target basicqmlaction
\section1 action
The action type has all the properties of QAction, in particular:
\list
\o \c slot action.trigger - invoke the action
\o \c bool action.enabled - true if the action is enabled
\o \c string action.text - the text associated with the action
\endlist
Actions are used like this:
\qml
MouseRegion { onClicked: MyItem.myaction.trigger() }
State { name: "enabled"; when: MyItem.myaction.enabled == true }
Text { text: MyItem.someaction.text }
\endqml
\target basicqmllist
\section1 list
While not technically a basic type, QML also supports lists of object
types. When used from QML, the engine automatically appends each value to the
list.
For example, the \l Item class has a children list property
that can be used like this:
\qml
Item {
children: [
Item { id: child1 },
Rectangle { id: child2 },
Text { id: child3 }
]
}
\endqml
\c Child1, \c Child2 and \c Child3 will all be added to the children list
in the order in which they appear.
\target basicqmlvector3d
\section1 vector3d
A \c vector3d is specified in \c "x,y,z" format:
\qml
Rotation { angle: 60; axis: "0,1,0" }
\endqml
or with the \c{Qt.vector3d()} helper function:
\qml
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
\endqml
or as separate \c x, \c y, and \c z components:
\qml
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
\endqml
*/
|