Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qtquick.qdoc
Go to the documentation of this file.
1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
3
4/*!
5\page qtquick-index.html
6\meta {keywords} {qmltopic}
7\title Qt Quick
8\brief The Qt Quick module implements the "standard library" for QML
9
10The Qt Quick module is the standard library for writing QML applications.
11While the \l{Qt Qml} module provides the QML engine and
12language infrastructure, the Qt Quick module provides all the basic
13types necessary for creating user interfaces with QML. It
14provides a visual canvas and includes types for creating and animating
15visual components, receiving user input, creating data models and views
16and delayed object instantiation.
17
18The Qt Quick module provides both a \l{Qt Quick QML Types}{QML API}, which
19supplies QML types for creating user interfaces with the QML language, and a
20\l{Qt Quick C++ Classes}{C++ API} for extending QML applications with C++ code.
21
22\note A set of Qt Quick-based UI controls is also available to create user
23interfaces. See \l{Qt Quick Controls} for more information.
24
25If you're new to QML and Qt Quick, please see \l{QML Applications} for an
26introduction to writing QML applications.
27
28\section1 Using the Module in your Project
29
30\section2 Accessing the QML API
31
32\include {module-use.qdocinc} {using the qml api} {QtQuick}
33
34\section2 In your C++ Project
35
36\include {module-use.qdocinc} {using the c++ api}
37
38\section3 Building with CMake
39
40\include {module-use.qdocinc} {building with cmake} {Quick}
41
42\section3 Building with qmake
43
44\include {module-use.qdocinc} {building_with_qmake} {quick}
45
46\section1 Important Concepts in Qt Quick
47
48Qt Quick provides everything you need to create a rich application with a fluid
49and dynamic user interface. It enables you to build user interfaces around the
50behavior of user interface components and how they connect with one another,
51and it provides a visual canvas with its own coordinate system and rendering
52engine. Animation and transition effects are first class concepts in Qt Quick,
53and you can add visual effects through specialized components for particle and
54shader effects.
55
56\list
57 \li \l {Important Concepts In Qt Quick - The Visual Canvas}
58 {The Visual Canvas}
59 \li \l {Important Concepts In Qt Quick - User Input} {User Input}
60 \li \l {Important Concepts In Qt Quick - Positioning} {Positioning}
61 \li \l {Important Concepts in Qt Quick - States, Transitions and Animations}
62 {States, Transitions And Animations}
63 \li \l {Important Concepts In Qt Quick - Data - Models, Views, and data Storage}
64 {Data - Models, Views, and Data Storage}
65 \li \list \l {Important Concepts In Qt Quick - Graphical Effects}
66 {Particles And Graphical Effects}
67 \li \l MultiEffect
68 \endlist
69 \li \l {Important Concepts In Qt Quick - Convenience Types}
70 {Convenience Types}
71\endlist
72
73When using the Qt Quick module, you will need to know how to write QML
74applications using the QML language. In particular, QML Basics and QML
75Essentials from the \l{QML Applications} page.
76
77To find out more about using the QML language, see the \l{Qt Qml} module documentation.
78
79\section1 C++ Extension Points
80
81\list
82 \li \l {C++ Extension Points Provided By Qt Quick}
83 {C++ Extension Points}
84 \list
85 \li \l {user-defined-qquickitem-derived-types}
86 {Creating User-Defined QQuickItem-Derived Types}
87 \li \l {scene-graph-related-classes}
88 {Scene Graph-Related Classes}
89 \li \l {pixmap-and-threaded-image-support}
90 {Pixmap and Threaded Image Support}
91 \endlist
92\endlist
93
94\section1 Articles and Guides
95
96\list
97 \li \l {Best Practices for QML and Qt Quick} {Qt Quick Guidelines}
98 \li \l {Qt Quick Tools and Utilities}
99
100 Further information for writing QML applications:
101 \list
102 \li \l {QML Applications}
103 - essential information for application development with QML and Qt
104 Quick
105 \li \l {Qt Qml}
106 - documentation for the Qt Qml module, which provides the QML engine
107 and language infrastructure
108 \li \l {Qt Quick How-tos}
109 - shows how to achieve specific tasks in Qt Quick
110 \endlist
111\endlist
112
113\section1 Examples
114
115\list
116 \li \l {Qt Quick Examples and Tutorials}
117\endlist
118
119\section1 Reference
120
121\list
122 \li \l {Qt Quick C++ Classes}
123 - the C++ API provided by the Qt Quick module
124 \li \l {Qt Quick QML Types}
125 - a list of QML types provided by the \c{QtQuick} import
126 \list
127 \li \l {Qt Quick Effects QML Types} {Effects}
128 - provides graphical effects to apply to Qt Quick items
129 \li \l {Qt Quick Local Storage QML Types} {Local Storage}
130 - a submodule containing a JavaScript interface for an SQLite
131 database
132 \li \l {Qt Quick Particles QML Types} {Particles}
133 - provides a particle system for Qt Quick
134 \li \l {Qt Quick Layouts} {Layouts}
135 - provides layouts for arranging Qt Quick items
136 \li \l {Qt Quick Test QML Types} {Tests}
137 - contains types for writing unit test for a QML application
138 \li \l{Qt Quick Shapes QML Types}{Shapes}
139 - provides types for rendering vector shapes in a Qt Quick scene.
140 \li \l{Qt Quick Vector Image QML Types}{Vector Image} - provides types for displaying
141 vector image files.
142 \endlist
143 \li \l {Qt Quick Android Classes}
144 - provides classes for using QML with Java/Kotlin Android APIs.
145\endlist
146
147\section1 Qt Academy Courses
148 \list
149 \li \l {https://www.qt.io/academy/course-catalog#introduction-to-qt-quick}
150 {Introduction to Qt Quick}
151 \endlist
152
153
154\section1 Licenses and Attributions
155
156Qt Quick is available under commercial licenses from \l{The Qt Company}.
157In addition, it is available under free software licenses. Since Qt 5.4,
158these free software licenses are
159\l{GNU Lesser General Public License, version 3}, or
160the \l{GNU General Public License, version 2}.
161See \l{Qt Licensing} for further details.
162
163Furthermore Qt Quick in Qt \QtVersion may contain third party
164modules under following permissive licenses:
165
166\annotatedlist attributions-qtquick
167*/