1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
6 \title Qt GUI C++ Classes
11 \brief The Qt GUI module provides the basic enablers for graphical
12 applications written with Qt.
14 The \l{Qt GUI} page contains information about how to use the module.
19 \title Qt GUI Private C++ Classes
21 \qtvariable gui-private
23 \brief Provides access to private GUI functionality.
25 Use the following CMake commands in your \c {CMakeLists.txt} to access
29 find_package(Qt6 REQUIRED COMPONENTS Gui)
30 target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
35 \page qtgui-index.html
38 The Qt GUI module provides classes for windowing system
39 integration, event handling, OpenGL and OpenGL ES integration, 2D
40 graphics, basic imaging, fonts, and text. These classes are used
41 internally by Qt's user interface technologies but can also be
42 used directly, for example to write applications using low-level
43 OpenGL ES graphics APIs.
45 For application developers writing user interfaces, Qt provides
46 higher level APIs, like Qt Quick, that are much more suitable
47 than the enablers found in the Qt GUI module.
49 \if !defined(qtforpython)
51 \section1 Using the Module
53 \include {module-use.qdocinc} {using the c++ api}
55 \section2 Building with CMake
57 \include {module-use.qdocinc} {building with cmake} {Gui}
59 \section2 Building with qmake
61 If you use \l qmake to build your projects, Qt GUI is included by
62 default. To disable Qt GUI, add the following line to your \c .pro file:
64 \snippet code/doc_src_qtgui.pro 1
67 \section1 Articles and Guides
70 \li \l {Qt GUI Overview}
72 \li \l {Application Windows} {Qt GUI Application Windows}
73 \li \l {2D Graphics} {Qt GUI 2D Graphics}
74 \li \l {RHI Graphics} {Qt GUI Accelerated 2D and 3D Graphics using the Qt RHI}
75 \li \l {3D Matrix and Vector Math} {Qt GUI Matrix and Vector Math}
76 \li \l {OpenGL and OpenGL ES Integration}
77 {Qt GUI OpenGL and OpenGL ES Integration}
78 \li \l {Vulkan Integration} {Qt GUI Vulkan Integration}
85 \li \l{Qt GUI C++ Classes}
88 \li \l{Painting Classes}
89 \li \l{Rendering in 3D}
93 \section1 Module Evolution
95 \l{Changes to Qt GUI} lists important changes in the module API
96 and functionality that were done for the Qt 6 series of Qt.
98 \section1 Licenses and Attributions
100 Qt GUI is available under commercial licenses from \l{The Qt Company}.
101 In addition, it is available under free software licenses:
102 The \l{GNU Lesser General Public License, version 3}, or
103 the \l{GNU General Public License, version 2}.
104 See \l{Qt Licensing} for further details.
106 Furthermore, Qt GUI in Qt \QtVersion may contain third-party
107 modules under following permissive licenses:
109 \generatelist{groupsbymodule attributions-qtgui}