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
11\keyword qtquick-samples
13Qt includes several examples to demonstrate a particular usage. The examples
14run as applications or as non-GUI examples in Qt Creator. Qt tutorials show
15the step-by-step information and give insight to particular code snippets.
17This page lists the \l{Qt QML} and \l{Qt Quick} examples, however, many other
18\l{All Modules}{Qt modules} contain examples related to their QML API.
20\section1 Running the Examples and Demos
22The examples are packaged with the \l{Getting Started with Qt}{Qt installers}
23and are accessed through Qt Creator. For more information about running
24examples in Qt Creator, visit the
25\l{Qt Creator: Building and Running an Example}{Building and Running an Example}
28Open and run examples within Qt Creator's \gui{Welcome} mode. Most of the
29examples run on various platforms and to search for platform-specific
30examples, type the platform name (or any keywords) in the search field. For
31example, typing \c mobile in the search field lists the examples that are
32fully compatible with the \l{Platform Support}{mobile} platforms.
34To view other examples and tutorials, visit the \l{Qt Examples And Tutorials}
37\section1 Qt Quick Demos
39Here is a list of fully-functional demo applications. They are full applications
40that show how a deployable Qt application is built and structured. Many of the
41demos are deployable to mobile and desktop platforms.
43\annotatedlist{qtquickdemos}
45\section1 Developing Qt Quick Applications
47The following pages show how to develop Qt applications using
48\l{Qt Creator Manual}{Qt Creator} and Qt Quick. The pages demonstrate various
49steps such as use cases and introductory material. For more information about Qt Quick Applications and related modules, visit the \l{QML Applications} page.
51\div {class="multi-column"}
52 \div {class="doc-column"}
53 \b{Development Environment}
55 \li \l{Qt Creator: Creating Qt Quick Projects}{Creating Qt Quick Projects}
56 \li \l{Qt Creator: Using QML Modules with Plugins}{Using QML Modules with Plugins}
59 \div {class="doc-column"}
60 \b{Beginning with QML and Qt Quick}
62 \li \l{First Steps with QML}
63 \li \l{Getting Started Programming with Qt Quick}{Qt Quick Text Editor}
64 \li \l{Qt Design Studio: Your First UI}{Qt Design Studio Tutorials}
65 \li \l{QML Advanced Tutorial}{SameGame}
68 \div {class="doc-column"}
71 \li \l{qtquick-usecase-visual.html}{Visual types in QML}
72 \li \l{qtquick-usecase-userinput.html}{Responding to User Input in QML}
73 \li \l{qtquick-usecase-animations.html}{Animations in QML}
74 \li \l{qtquick-usecase-text.html}{Displaying Text in QML}
75 \li \l{qtquick-usecase-layouts.html}{Layouts in QML}
76 \li \l{qtquick-usecase-styling.html}{Style and Theme Support}
77 \li \l{qtquick-usecase-integratingjs.html}{Integrating JavaScript in QML}
82\section2 Extending QML
84The following tutorials show how a QML-based application can be combined and
85exteneded with C++ code using the \l{Qt QML} module.
87 \li \l {Writing QML Extensions with C++}
88 \li \l {Writing advanced QML Extensions with C++}
93Examples are small applications which show how to implement various Qt Quick
94features. The examples run on various platforms and are opened from within Qt
97\div {class="multi-column"}
98 \div {class="doc-column"}
99 \b{QML Types and Controls}
101 \li \l{Qt Quick Controls - Gallery}{Controls Gallery}
102 \li \l{tableview/gameoflife}{TableView}
103 \li \l{Qt Quick Examples - Text}{Text and Fonts}
106 \div {class="doc-column"}
107 \b{Layouts and Views}
109 \li \l{Qt Quick Layouts - Basic Example}
110 \li \l{Qt Quick Layouts - Responsive Layout Example}
111 \li \l{Qt Quick Examples - Positioners}{Positioners}
112 \li \l{Qt Quick Examples - Views}{Views}
113 \li \l{Qt Quick Examples - Window and Screen}{Windows and Screen}
116 \div {class="doc-column"}
117 \b{Image and Graphics}
119 \li \l{Qt Quick Examples - Image Elements}{Image Elements}
120 \li \l{Qt Quick Examples - Animation}{Animation}
121 \li \l{Qt Quick Examples - Canvas}{Canvas API}
122 \li \l{Qt Quick Examples - Shader Effects}{Shader Effects}
123 \li \l{Qt Quick Examples - MultiEffect Test Bed}{MultiEffect}
124 \li \l{Qt Quick Examples - MultiEffect Item Switcher}{MultiEffect-based Item Transitions}
129\div {class="multi-column"}
130 \div {class="doc-column"}
131 \b{Keyboard, Focus, and Touch}
133 \li \l{Qt Quick Examples - Key Interaction}{Key Interaction}
134 \li \l{Qt Quick Examples - Pointer Handlers}{Pointer Handlers}
137 \div {class="doc-column"}
138 \b{System and Events}
140 \li \l{Qt Quick Examples - Accessibility}{Accessibility}
141 \li \l{Qt Quick Examples - Drag and Drop}{Drag and Drop}
142 \li \l{Qt Quick Examples - Item Variable Refresh Rate}{Item Variable Refresh Rate}
145 \div {class="doc-column"}
148 \li \l{Scene Graph - Custom Material}{Custom Material}
149 \li \l{Scene Graph - RHI Under QML}{Portable QRhi-based 3D rendering as a scene underlay}
150 \li \l{Scene Graph - RHI Texture Item}{Displaying a QRhi-rendered image in a QQuickItem}
151 \li \l{Scene Graph - Custom QSGRenderNode}{Implementing a QRhi-based QSGRenderNode}
152 \li \l{Scene Graph - Two Texture Providers}{Texture Providers and Materials}
153 \li \l{Scene Graph - Custom Geometry}{Custom Geometry}
154 \li \l{Scene Graph - Graph}{Graph}
159\div {class="multi-column"}
160 \div {class="doc-column"}
161 \b{Extending the Scene Graph using native 3D APIs}
163 \li \l{Scene Graph - Vulkan Under QML}{Vulkan-based 3D rendering as a scene underlay}
164 \li \l{Scene Graph - Vulkan Texture Import}{Implementing a custom QQuickItem that displays a native Vulkan image}
165 \li \l{Scene Graph - Metal Under QML}{Metal-based 3D rendering as a scene underlay}
166 \li \l{Scene Graph - Metal Texture Import}{Implementing a custom QQuickItem that displays a native Metal texture}
167 \li \l{Scene Graph - Direct3D 11 Under QML}{Direct3D 11-based rendering as a scene underlay}
168 \li \l{Scene Graph - OpenGL Under QML}{OpenGL-based rendering as a scene underlay}
169 \li \l{QQuickRenderControl OpenGL Example}{Redirecting Qt Quick rendering into an OpenGL texture}
170 \li \l{QQuickRenderControl D3D11 Example}{Redirecting Qt Quick rendering into a Direct 3D texture}
173 \div {class="doc-column"}
174 \b{Adding Qt Quick scenes in QWidget applications}
176 \li \l{Qt Quick Widgets Example}{Using QQuickWidget}
177 \li \l{QQuickWidget - QQuickView Comparison Example}{QQuickWidget - QQuickView Comparison (OpenGL)}
178 \li \l{Qt Quick Examples - Embedded in Widgets}{Embedding a QQuickView as Native Window}