Qt GUI

The Qt GUI module provides classes for windowing system integration, event handling, OpenGL and OpenGL ES integration, 2D graphics, basic imaging, fonts, and text. These classes are used internally by Qt's user interface technologies but can also be used directly, for example to write applications using low-level OpenGL ES graphics APIs.

For application developers writing user interfaces, Qt provides higher level APIs, like Qt Quick, that are much more suitable than the enablers found in the Qt GUI module.

Using the Module

Using a Qt module's C++ API requires linking against the module library, either directly or through other dependencies. Several build tools have dedicated support for this, including CMake and qmake.

Building with CMake

Use the find_package() command to locate the needed module component in the Qt6 package:

find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)

For more details, see the Build with CMake overview.

Building with qmake

If you use qmake to build your projects, Qt GUI is included by default. To disable Qt GUI, add the following line to your .pro file:

QT -= gui

Articles and Guides

Reference

Module Evolution

Changes to Qt GUI lists important changes in the module API and functionality that were done for the Qt 6 series of Qt.

Licenses and Attributions

Qt GUI is available under commercial licenses from The Qt Company. In addition, it is available under free software licenses: The GNU Lesser General Public License, version 3, or the GNU General Public License, version 2. See Qt Licensing for further details.

Furthermore, Qt GUI in Qt 6.9.0 may contain third-party modules under following permissive licenses:

Adobe Glyph List For New Fonts, version 1.7

BSD 3-Clause "New" or "Revised" License

Anti-aliasing rasterizer from FreeType 2

Freetype Project License or GNU General Public License v2.0 only

Cocoa Platform Plugin

BSD 3-clause "New" or "Revised" License

D3D12 Memory Allocator, version f128d39b7a95b4235bd228d231646278dc6c24b2

MIT License

DejaVu Fonts, version 2.37

Bitstream Vera Font License

Emoji Segmenter, version 0.4.0

Apache License 2.0

Freetype 2 - Bitmap Distribution Format (BDF) support

MIT License

Freetype 2 - Portable Compiled Format (PCF) support

MIT License and MIT Open Group variant

Freetype 2 - zlib

zlib License

Freetype 2, version 2.13.3

Freetype Project License or GNU General Public License v2.0 only

HarfBuzz-NG, version 10.1.0

MIT License

LibJPEG-turbo, version 3.0.4

Independent JPEG Group License and BSD 3-Clause "New" or "Revised" License

LibPNG, version 1.6.44

libpng License and PNG Reference Library version 2

MD4C, version 0.5.2

MIT License

Mipmap generator for D3D12, version 0aa79bad78992da0b6a8279ddb9002c1753cb849

MIT License

Native Style for Android

Apache License 2.0

OpenGL ES 2 Headers, version Revision 27673

MIT License

OpenGL Headers, version Revision 27684

MIT License

Pixman, version 0.17.12

MIT License

Smooth Scaling Algorithm

BSD 2-clause "Simplified" License and Imlib2 License

Vulkan API Registry, version 1.3.223

Apache License 2.0 or MIT License

Vulkan Memory Allocator, version 3.1.0

MIT License

WebGradients

MIT License

Wintab API

LCS-Telegraphics License

X Server helper

X11 License and Historical Permission Notice and Disclaimer

XCB-XInput

MIT License

sRGB color profile icc file

International Color Consortium License

© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.