diff options
Diffstat (limited to 'src/qml/doc/src/qtqml.qdoc')
-rw-r--r-- | src/qml/doc/src/qtqml.qdoc | 215 |
1 files changed, 86 insertions, 129 deletions
diff --git a/src/qml/doc/src/qtqml.qdoc b/src/qml/doc/src/qtqml.qdoc index 05a33f351a..26e4867bbc 100644 --- a/src/qml/doc/src/qtqml.qdoc +++ b/src/qml/doc/src/qtqml.qdoc @@ -30,159 +30,116 @@ \title Qt QML \brief The Qt QML module defines and implements the QML language -\section1 Overview of the Qt QML Module - -The Qt QML module provides a framework for developing applications and -libraries with the QML language. It defines and implements the language -and engine infrastructure, and provides an API to enable application +The Qt QML module provides a framework for developing applications and libraries +with the \l{QML Application Developer Resources}{QML language}. It defines and implements the +language and engine infrastructure, and provides an API to enable application developers to extend the QML language with custom types and integrate QML code -with JavaScript and C++. - -The Qt QML module provides both the \c QtQml QML module, which supplies -\l{Qt QML QML Types}{a set of core QML types} for creating QML -applications, and the \c QtQml C++ module, which supplies \l{Qt QML C++ Classes}{a set of C++ -APIs} for extending QML applications with custom types and integrating C++ -implementations with QML applications. +with JavaScript and C++. The Qt QML module provides both a \l{Qt QML QML Types} +{QML API} and a \l{Qt QML C++ Classes}{C++ API}. -Note that the Qt QML module provides only the language and infrastructure -for the QML, and does not provide a visual canvas or rendering engine for -creating user interfaces. These are provided instead by the -\l{Qt Quick} module, which provides many visual components, -model/view support, an animation framework and much more for building user -interfaces with QML. +Note that while the Qt QML module provides the language and infrastructure +for QML applications, the \l{Qt Quick} module provides many visual components, +model-view support, an animation framework, and much more for building user +interfaces. For those new to QML and Qt Quick, please see \l{qtquick-applicationdevelopers.html}{QML Application Developer Resources} for an introduction to writing QML applications. +\section1 Getting Started -\section1 Qt QML Module Documentation +To include the definitions of the module's classes, use the +following directive: -\list - \li \l{qtqml-cppclasses-topic.html}{Important C++ Classes} - \list - \li \l{QQmlEngine} - \li \l{QQmlContext} - \li \l{QQmlComponent} - \li \l{QQmlExpression} - \endlist - - \li \l{qtqml-typesystem-topic.html}{The QML Type System} - \list - \li \l{qtqml-typesystem-basictypes.html}{Basic Types} - \li \l{qtqml-typesystem-topic.html#javascript-types}{JavaScript Types} - \li \l{qtqml-typesystem-objecttypes.html}{QML Object Types} - \list - \li \l{qtqml-documents-definetypes.html}{Defining Object Types from QML} - \li \l{qtqml-cppintegration-definetypes.html}{Defining Object Types from C++} - \endlist - \endlist - - \li \l{qtqml-modules-topic.html}{QML Modules} - \list - \li \l{qtqml-modules-qmldir.html}{Specifying A QML Module} - \li \l{qtqml-modules-topic.html#supported-qml-module-types}{Supported QML Module Types} - \list - \li \l{qtqml-modules-identifiedmodules.html}{Identified Modules} - \li \l{qtqml-modules-legacymodules.html}{Legacy Modules} - \endlist - \li \l{qtqml-modules-cppplugins.html}{Providing Types and Functionality in a C++ Plugin} - \endlist - - \li \l{qtqml-documents-topic.html}{QML Documents} - \list - \li \l{qtqml-documents-structure.html}{Structure of a QML Document} - \li \l{Syntax of the QML Language} - \li \l{qtqml-documents-definetypes.html}{Defining Object Types through QML Documents} - \list - \li \l{qtqml-documents-definetypes.html#defining-an-object-type-with-a-qml-file}{Defining an Object Type with a QML File} - \li \l{qtqml-documents-definetypes.html#accessible-attributes-of-custom-types}{Accessible Attributes of Custom Types} - \endlist - \li \l{qtqml-documents-networktransparency.html}{Resource Loading and Network Transparency} - \li \l{qtqml-documents-scope.html}{Scope and Naming Resolution} - \endlist - - \li \l{qtqml-typereference-topic.html}{QML Types Provided by the Qt QML Module} - \list - \li \l{qtqml-typereference-topic.html#importing-qtqml}{Importing \c QtQml} - \li \l{qtqml-typereference-topic.html#basic-types}{Basic Types} - \li \l{qtqml-typereference-topic.html#object-types}{Object Types} - \list - \li \l{qtqml-typereference-topic.html#qtobject}{QtObject} - \li \l{qtqml-typereference-topic.html#component}{Component} - \endlist - \endlist - - \li \l{qtqml-javascript-topic.html}{Integrating QML and JavaScript} - \list - \li \l{qtqml-javascript-expressions.html}{Using JavaScript Expressions with QML} - \li \l{qtqml-javascript-dynamicobjectcreation.html}{Dynamic QML Object Creation from JavaScript} - \li \l{qtqml-javascript-resources.html}{Defining JavaScript Resources In QML} - \li \l{qtqml-javascript-imports.html}{Importing JavaScript Resources In QML} - \li \l{qtqml-javascript-hostenvironment.html}{JavaScript Host Environment} - \list - \li \l{qtqml-javascript-hostenvironment.html#common-base}{Common Base} - \li \l{qtqml-javascript-hostenvironment.html#qml-global-object}{QML Global Object} - \li \l{qtqml-javascript-hostenvironment.html#javascript-objects-and-functions}{JavaScript Objects and Functions} - \li \l{qtqml-javascript-hostenvironment.html#javascript-environment-restrictions}{JavaScript Environment Restrictions} - \endlist - \endlist - - \li \l{qtqml-cppintegration-topic.html}{Integrating QML and C++} - \list - \li \l{qtqml-cppintegration-exposecppattributes.html}{Exposing Attributes of C++ Classes to QML} - \li \l{qtqml-cppintegration-definetypes.html}{Defining QML Types from C++} - \li \l{qtqml-cppintegration-contextproperties.html}{Embedding C++ Objects into QML with Context Properties} - \li \l{qtqml-cppintegration-interactqmlfromcpp.html}{Interacting with QML Objects from C++} - \li \l{qtqml-cppintegration-data.html}{Data Type Conversion Between QML and C++} - \endlist +\code +#include <QtQml> +\endcode + +The QML types in Qt QML are available through the \c QtQML import. To use the +types, add the following import statement to your .qml file: +\code +import QtQml 2.0 +\endcode + + +To link against the module, add this line to your \l qmake \c +.pro file: +\code +QT += qml +\endcode + +\section1 QML and QML Types + +The Qt QML module contains the QML framework and important QML types used in +applications. The constructs of QML are described in the \l{The QML Reference}. + +In addition to the \l{QML Basic Types}, the module comes with +various QML object types: +\list +\li \l Component +\li \l QtObject +\li \l Binding +\li \l Connections +\li \l Timer \endlist +\section2 Lists and Models -\section1 Syntax of the QML Language +New in Qt 5.1, the model types are moved to a submodule, \c QtQml.Models. The +\l{Qt QML Models QML Types}{Qt QML Models} page has more information. \list - \li \l{qtqml-syntax-basics.html}{QML Syntax Basics} - \list - \li \l{qtqml-syntax-imports.html}{Import Statements} - \li \l{qtqml-syntax-basics.html#object-declarations}{Object Declarations} - \list - \li \l{qtqml-syntax-basics.html#child-objects}{Child Objects} - \endlist - \li \l{qtqml-syntax-basics.html#comments}{Comments} - \endlist - - \li \l{qtqml-syntax-objectattributes.html}{QML Object Attributes} - \list - \li \l{qtqml-syntax-objectattributes.html#the-id-attribute}{The \e id Attribute} - \li \l{qtqml-syntax-objectattributes.html#property-attributes}{Property Attributes} - \li \l{qtqml-syntax-objectattributes.html#signal-attributes}{Signal Attributes} - \li \l{qtqml-syntax-objectattributes.html#method-attributes}{Method Attributes} - \li \l{qtqml-syntax-objectattributes.html#attached-properties-and-attached-signal-handlers}{Attached Properties and Attached Signal Handlers} - \endlist - - \li \l{qtqml-syntax-propertybinding.html}{Property Binding} - \li \l{qtqml-syntax-signals.html}{Signal and Handler Event System} +\li \l DelegateModel +\li \l DelegateModelGroup +\li \l ListElement +\li \l ListModel +\li \l ObjectModel \endlist -\section1 Reference Documentation +\section1 JavaScript Environment for QML Applications + +JavaScript expressions allow QML code to contain application logic. Qt QML +provides the framework for running JavaScript expressions in QML and from C++. + +These sections are from \l{The QML Reference}. +\l{qtqml-javascript-topic.html}{Integrating QML and JavaScript} + \list + \li \l{qtqml-javascript-expressions.html}{Using JavaScript Expressions with QML} + \li \l{qtqml-javascript-dynamicobjectcreation.html}{Dynamic QML Object Creation from JavaScript} + \li \l{qtqml-javascript-resources.html}{Defining JavaScript Resources In QML} + \li \l{qtqml-javascript-imports.html}{Importing JavaScript Resources In QML} + \li \l{qtqml-javascript-hostenvironment.html}{JavaScript Host Environment} + \endlist + +\section1 Integrating QML with C++ Applications + +The module also provides the framework for running QML applications. +The QML framework allows QML code to contain JavaScript expressions and for +the QML code to interact with C++ code. -Additional Qt QML information: \list -\li \l{Qt QML C++ Classes} - the C++ API provided by the - Qt QML module -\li \l{Qt QML Release Notes} - list of changes and - additions in the Qt QML module +\li \l{Important C++ Classes Provided By The Qt QML Module} +\li \l{Integrating QML and C++} \endlist +\section1 Guides and Other Information + Further information for writing QML applications: \list +\li \l{The QML Reference} \li \l{QML Application Developer Resources} - essential information for application development with QML and Qt Quick -\li \l{Qt Quick} - documentation for the Qt Quick module, which provides a - visual canvas, an animation framework, model/view components and more for - building fluid user interfaces and applications with QML +\li \l{Qt Quick} - a module which provides a set of QML types and C++ classes + for building user interfaces and applications with QML +\li \l{Qt QML Release Notes} - list of changes and + additions in the Qt QML module +\endlist + +\section2 Reference +\list +\li \l{Qt QML C++ Classes}{C++ Classes} +\li \l{Qt QML QML Types}{QML Types} \endlist -*/ +*/ |