Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
topic.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-visualcanvas-topic.html
6\title Important Concepts In Qt Quick - The Visual Canvas
7\brief Overview of visual canvas concepts
8
9The visual canvas provided by the Qt Quick is a two dimensional canvas with
10z-ordering.
11
12\section1 Coordinate System
13
14The top-left pixel in the Qt Quick coordinate system is the [0, 0] pixel.
15The coordinate system of a child item is relative to its visual parent item.
16See the documentation on the
17\l{qtquick-visualcanvas-coordinates.html}{Coordinate System} for
18in-depth information about the coordinate system utilized by Qt Quick.
19
20\section1 Visual Parent
21
22There are two separate kinds of parenting in a QML application which uses
23Qt Quick. The first kind is the ownership-parent (also known as the QObject
24parent) which determines object lifetime semantics. The second kind is the
25visual parent which determines where on the canvas an item is drawn, and also
26certain properties (for example, opacity applies to visual children).
27
28In almost all cases, the visual parent is identical to the ownership-parent.
29See the documentation about the \l{qtquick-visualcanvas-visualparent.html}
30{Visual Parent} for more in-depth information on the topic.
31
32\section1 Scene Graph
33
34Modern computer systems and devices use graphics processing units or GPUs to
35render graphics. Qt Quick can leverage this graphics hardware by using graphics
36APIs like \l{https://www.khronos.org/opengl/}{OpenGL},
37\l{https://www.khronos.org/vulkan/}{Vulkan}, or
38\l{https://developer.apple.com/documentation/metal}{Metal}. In Qt 6, the default
39graphics adaptation for Qt Quick supports multiple graphics APIs, such as OpenGL
40(ES), Vulkan, Metal and Direct 3D 11, to display applications developed with Qt
41Quick in QML. In particular, Qt Quick defines a scene graph which is then
42rendered. See the documentation about the
43\l{qtquick-visualcanvas-scenegraph.html}{Scene Graph} for in-depth information
44about the concept of a scene graph and why it is beneficial, and about the scene
45graph adaptations provided by Qt Quick.
46
47*/