diff options
Diffstat (limited to 'src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc')
-rw-r--r-- | src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc b/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc new file mode 100644 index 0000000000..76e28f7ef1 --- /dev/null +++ b/src/qml/doc/src/qmllanguageref/typesystem/topic.qdoc @@ -0,0 +1,98 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** 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 Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/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: http://www.gnu.org/copyleft/fdl.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ +/*! +\page qtqml-typesystem-topic.html +\title The QML Type System +\brief Description of the QML type system + +The types which may be used in the definition of an object hierarchy in a QML +document can come from various sources. They may be: + +\list +\li provided natively by the QML language +\li registered via C++ by QML modules +\li provided as QML documents by QML modules +\endlist + +Furthermore, application developers can provide their own types, either by +registering C++ types directly, or by defining reusable components in QML +documents which can then be imported. + +Wherever the type definitions come from, the engine will enforce type-safety +for properties and instances of those types. + + +\section1 Basic Types + +The QML language has built-in support for various primitive types including +integers, double-precision floating point numbers, strings, and boolean values. +Objects may have properties of these types, and values of these types may be +passed as arguments to methods of objects. + +See the \l{qtqml-typesystem-basictypes.html}{QML Basic Types} documentation for +more information about basic types. + +\section1 JavaScript Types + +JavaScript objects and arrays are supported by the QML engine. Any standard +JavaScript type can be created and stored using the generic \l var type. + +For example, the standard \c Date and \c Array types are available, as below: + +\qml +import QtQuick 2.0 + +Item { + property var theArray: new Array() + property var theDate: new Date() + + Component.onCompleted: { + for (var i = 0; i < 10; i++) + theArray.push("Item " + i) + console.log("There are", theArray.length, "items in the array") + console.log("The time is", theDate.toUTCString()) + } +} +\endqml + +See \l {qtqml-javascript-expressions.html}{JavaScript Expressions in QML Documents} for more details. + + +\section1 QML Object Types + +A QML object type is a type from which a QML object can be instantiated. QML +object types are derived from \l QtObject, and are provided by QML modules. +Applications can import these modules to use the object types they provide. +The \c QtQuick module provides the most common object types needed to create +user interfaces in QML. + +Finally, every QML document implicitly defines a QML object type, which can be +re-used in other QML documents. See the documentation about +\l{qtqml-typesystem-objecttypes.html}{object types in the QML type system} for +in-depth information about object types. + +*/ |