1// Copyright (C) 2017 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
6\page qtquick-codesamples.html
7\title Qt Quick Examples and Tutorials
8\brief Building UIs with QML
10\keyword qtquick-samples
12Qt includes several examples to demonstrate a particular usage. The examples
13run as applications or as non-GUI examples in Qt Creator. Qt tutorials show
14the step-by-step information and give insight to particular code snippets.
16This page lists the \l{Qt Qml} and \l{Qt Quick} examples, however, many other
17\l{All Modules}{Qt modules} contain examples related to their QML API.
19\section1 Running the Examples and Demos
21The examples are packaged with the \l{Getting Started with Qt}{Qt installers}
22and are accessed through Qt Creator. For more information about running
23examples in Qt Creator, visit the
24\l{Qt Creator: Building and Running an Example}{Building and Running an Example}
27Open and run examples within Qt Creator's \gui{Welcome} mode. Most of the
28examples run on various platforms and to search for platform-specific
29examples, type the platform name (or any keywords) in the search field. For
30example, typing \c mobile in the search field lists the examples that are
31fully compatible with the \l{Platform Support}{mobile} platforms.
33To view other examples and tutorials, visit the \l{Qt Examples And Tutorials}
36\section1 Qt Quick Demos
38Here is a list of fully-functional demo applications. They are full applications
39that show how a deployable Qt application is built and structured. Many of the
40demos are deployable to mobile and desktop platforms.
42\annotatedlist{qtquickdemos}
44\section1 Developing Qt Quick Applications
46The following pages show how to develop Qt applications using
47\l{Qt Creator Manual}{Qt Creator} and Qt Quick. The pages demonstrate various
48steps such as use cases and introductory material. For more information about Qt Quick Applications and related modules, visit the \l{QML Applications} page.
50\div {class="multi-column"}
51 \div {class="doc-column"}
52 \b{Development Environment}
54 \li \l{Qt Creator: Creating Qt Quick Projects}{Creating Qt Quick Projects}
55 \li \l{Qt Creator: Using QML Modules with Plugins}{Using QML Modules with Plugins}
58 \div {class="doc-column"}
59 \b{Beginning with QML and Qt Quick}
61 \li \l{First Steps with QML}
62 \li \l{Getting Started Programming with Qt Quick}{Alarms Application}
63 \li \l{Qt Design Studio: Your First UI}{Qt Design Studio Tutorials}
64 \li \l{QML Advanced Tutorial}{SameGame}
67 \div {class="doc-column"}
70 \li \l{qtquick-usecase-visual.html}{Visual types in QML}
71 \li \l{qtquick-usecase-userinput.html}{Responding to User Input in QML}
72 \li \l{qtquick-usecase-animations.html}{Animations in QML}
73 \li \l{qtquick-usecase-text.html}{Displaying Text in QML}
74 \li \l{qtquick-usecase-layouts.html}{Layouts in QML}
75 \li \l{qtquick-usecase-styling.html}{Style and Theme Support}
76 \li \l{qtquick-usecase-integratingjs.html}{Integrating JavaScript in QML}
81\section2 Extending QML
83The following tutorials show how a QML-based application can be combined and
84exteneded with C++ code using the \l{Qt Qml} module.
86 \li \l {Writing QML Extensions with C++}
87 \li \l {Writing advanced QML Extensions with C++}
92Examples are small applications which show how to implement various Qt Quick
93features. The examples run on various platforms and are opened from within Qt
96\div {class="multi-column"}
97 \div {class="doc-column"}
98 \b{QML Types and Controls}
100 \li \l{Qt Quick Controls - Gallery}{Controls Gallery}
101 \li \l{tableview/gameoflife}{TableView}
102 \li \l{Qt Quick Examples - Text}{Text and Fonts}
105 \div {class="doc-column"}
106 \b{Layouts and Views}
108 \li \l{Qt Quick Layouts - Basic Example}
109 \li \l{Qt Quick Layouts - Responsive Layout Example}
110 \li \l{Qt Quick Examples - Positioners}{Positioners}
111 \li \l{Qt Quick Examples - Views}{Views}
112 \li \l{Qt Quick Examples - Window and Screen}{Windows and Screen}
115 \div {class="doc-column"}
116 \b{Image and Graphics}
118 \li \l{Qt Quick Examples - Image Elements}{Image Elements}
119 \li \l{Qt Quick Examples - Animation}{Animation}
120 \li \l{Qt Quick Examples - Canvas}{Canvas API}
121 \li \l{Qt Quick Examples - Shader Effects}{Shader Effects}
122 \li \l{Qt Quick Examples - MultiEffect Test Bed}{MultiEffect}
123 \li \l{Qt Quick Examples - MultiEffect Item Switcher}{MultiEffect-based Item Transitions}
126 \div {class="doc-column"}
129 \li \l{Qt Quick Examples - Shapes}{Shapes}
130 \li \l{Weather Forecast Example}{Weather Forecast}
135\div {class="multi-column"}
136 \div {class="doc-column"}
137 \b{Keyboard, Focus, and Touch}
139 \li \l{Qt Quick Examples - Key Interaction}{Key Interaction}
140 \li \l{Qt Quick Examples - Pointer Handlers}{Pointer Handlers}
143 \div {class="doc-column"}
144 \b{System and Events}
146 \li \l{Qt Quick Examples - Accessibility}{Accessibility}
147 \li \l{Qt Quick Examples - Drag and Drop}{Drag and Drop}
148 \li \l{Qt Quick Examples - Item Variable Refresh Rate}{Item Variable Refresh Rate}
151 \div {class="doc-column"}
154 \li \l{Scene Graph - Custom Material}{Custom Material}
155 \li \l{Scene Graph - RHI Under QML}{Portable QRhi-based 3D rendering as a scene underlay}
156 \li \l{Scene Graph - RHI Texture Item}{Displaying a QRhi-rendered image in a QQuickItem}
157 \li \l{Scene Graph - Custom QSGRenderNode}{Implementing a QRhi-based QSGRenderNode}
158 \li \l{QQuickRenderControl RHI Example}{Redirecting Qt Quick rendering into a QRhiTexture}
159 \li \l{Scene Graph - Two Texture Providers}{Texture Providers and Materials}
160 \li \l{Scene Graph - Custom Geometry}{Custom Geometry}
161 \li \l{Scene Graph - Graph}{Graph}
166\div {class="multi-column"}
167 \div {class="doc-column"}
168 \b{Extending the Scene Graph using native 3D APIs}
170 \li \l{Scene Graph - Vulkan Under QML}{Vulkan-based 3D rendering as a scene underlay}
171 \li \l{Scene Graph - Vulkan Texture Import}{Implementing a custom QQuickItem that displays a native Vulkan image}
172 \li \l{Scene Graph - Metal Under QML}{Metal-based 3D rendering as a scene underlay}
173 \li \l{Scene Graph - Metal Texture Import}{Implementing a custom QQuickItem that displays a native Metal texture}
174 \li \l{Scene Graph - Direct3D 11 Under QML}{Direct3D 11-based rendering as a scene underlay}
175 \li \l{Scene Graph - OpenGL Under QML}{OpenGL-based rendering as a scene underlay}
176 \li \l{QQuickRenderControl OpenGL Example}{Redirecting Qt Quick rendering into an OpenGL texture}
177 \li \l{QQuickRenderControl D3D11 Example}{Redirecting Qt Quick rendering into a Direct 3D texture}
180 \div {class="doc-column"}
181 \b{Adding Qt Quick scenes in QWidget applications}
183 \li \l{Qt Quick Widgets Example}{Using QQuickWidget}
184 \li \l{QQuickWidget - QQuickView Comparison Example}{QQuickWidget - QQuickView Comparison (OpenGL)}
185 \li \l{Qt Quick Examples - Embedded in Widgets}{Embedding a QQuickView as Native Window}