Explore the features of the latest Qt 5 release to see which development platforms, operating systems and coding languages are supported, as well as how Qt features and functionality are licensed and packaged.
Commercial: A commercial license keeps your code proprietary where only you can control and monetize on your end product’s development, user experience and distribution – securing your intellectual property.
Qt for Application Development: Qt for Application Development is dual-licensed under commercial and open source licenses. Commercial gives you full rights to create and distribute software on your own terms without any open source obligations. It also gives you access to the official Qt Support team and a close strategic relationship with The Qt Company.
Qt for Device Creation: Ready-made solutions that speed up your device creation with enterprise-quality features for a truly professional development experience. Qt for Device Creation is a product available only under a commercial license.
M2M Protocols: A collection of modular, scalable, secure software libraries, development tools and interoperability protocols geared to make automation software development with Qt even more cost- and time-efficient.
LGPL v3: With LGPLv3 license option you can use the essential libraries and some add-on libraries of Qt. LGPLv3 allows for keeping your application source code closed as long as all the requirements of LGPLv3 are met.
GPL v3: With GPLv3 license option, you have access to almost all Qt framework functionality, as well as development and design tooling. Note that using GPL licensed framework libraries requires your application or device to be licensed under GPL as well.
GPL v2: All essential libraries and some add-on libraries of Qt are available under GPLv2 license option. Note that using GPL licensed framework libraries requires your application or device to be licensed under GPL as well.
Qt Safe Renderer: As an extension of Qt for Device Creation, Safe Renderer enables you to develop modern embedded systems that are both functionally safe and user-friendly. Pre-certified software components save time and money, and provide confidence in end-to-end certification of your safety-critical UI systems.
Qt Automotive Suite: A fully-fledged automotive software development toolkit built on Qt for Device Creation developed in collaboration with our technology partners, KDAB and Luxoft.
Python: Launched in 2018, the Python bindings already cover a lot of Qt. Check out the product map for the compatible components. Learn more in the Qt for Python technical documentation: https://doc.qt.io/qtforpython/
Everything you need for designing an amazing user interface and the ultimate user experience.
A UI design and development environment for creating animated user interfaces.
A tool for designing and building graphical user interfaces (GUIs) using Qt Widgets. Integrated into Qt Creator.
A tool for designing and building graphical user interfaces (GUIs) using Qt Quick. Integrated into Qt Creator.
Qt has it's own cross-platform IDE and is chock-full of tools designed for developing applications and UIs once and deploying them across multiple operating systems.
Provides a live reloader environment for rapid development of Qt Quick applications, dramatically reducing the time it takes to deploy and test changes in the UI design.
An introspection tool for Qt applications.
Provides an emulation of a target device to test and debug applications in.
A cross-platform, complete integrated development environment (IDE) for application developers to create applications for multiple desktop, embedded, and mobile device platforms.
A set of tools for translating Qt C++ and Qt Quick applications into local languages.
Qt's build automation tool that simplifies the build process across different platforms.
A tool to generate pre-rendered fonts for embedded Linux.
Generates meta-object information for QObject subclasses.
Generates C++ code from user interface files.
Embeds resources into Qt applications during the build process.
Converts D-Bus interface descriptions to C++ source code.
Introspection tool for D-Bus objects and messages.
A compiler for QML that enables building Qt Quick applications without having to deploy the QML sources on to the target.
Integrates the Qt development tools into Microsoft Visual Studio.
Generates distance fields to improve load times of text-heavy Qt Quick user interfaces.
Provides a set of tools and utilities to create installers for the supported desktop platforms.
A tool that helps simplify the build process for developing projects across multiple platforms.
A tool for viewing Qt documentation.
A GUI application for the Qt feature system for easy of configuration of Qt builds, resulting in smaller binaries.
On-device debugging and deployment of Qt applications via Qt Creator.
These are the APIs and libraries that provide the backbone of Qt. Qt contains a rich set of fundamental enablers,which provide higher-level UI and application development components.
Core non-graphical classes used by other modules.
Base classes for graphical user interface components. Includes OpenGL.
Classes for audio, video, radio and camera functionality.
Widget-based classes for implementing multimedia functionality.
Classes to make network programming easier and more portable.
Classes for QML and JavaScript languages.,All,All,C++
Types for creating and interacting with system dialogs from a Qt Quick application.
Layouts are items that are used to arrange Qt Quick 2 based items in the user interface.
A declarative framework for building highly dynamic applications with custom user interfaces.
Provides lightweight QML types for creating performant user interfaces for desktop, embedded, and mobile devices. These types employ a simple styling architecture and are very efficient.
A unit test framework for QML applications, where the test cases are written as JavaScript functions.
Classes for database integration using SQL.
Classes for unit testing Qt applications and libraries.
Classes to extend Qt GUI with C++ widgets.
Qt is an unbelievably comprehensive framework full of features beyond the essentials all designed to provide you with a truly professional development experience.
Classes for applications which use ActiveX and COM.
Functionality for near-realtime simulation systems with support for 2D and 3D rendering.
Provides platform-specific APIs for Android.
Provides access to Bluetooth hardware.
Enables OpenGL-like 3D drawing calls from Qt Quick applications using JavaScript. (Deprecated)
Classes for writing multi-threaded programs without using low-level threading primitives.
Classes for inter-process communication over the D-Bus protocol.
Enables Qt applications to support the use of gamepad hardware.
Graphical effects for use with Qt Quick.
Classes for integrating documentation into applications, similar to Qt Assistant.
Plugins for additional image formats: TIFF, MNG, TGA, WBMP.
Displays map, navigation, and place content in a QML application.
Provides platform-specific APIs for macOS.
Provides access to Near-Field communication (NFC) hardware.
OpenGL support classes. Deprecated in favor of the QOpenGL* classes in the Qt GUI module.
Provides classes that encapsulate platform-specific information, tied to a given runtime configuration of a platform plugin.
Provides access to position, satellite and area monitoring classes.
Classes to make printing easier and more portable.
Enables in-app purchase of products in Qt applications.
Reusable Qt Quick based UI controls to create classic desktop-style user interfaces. Deprecated in favor of Qt Quick Controls 2.
Provides a specialized set of controls that can be used to build interfaces in Qt Quick.
Provides a C++ widget class for displaying a Qt Quick user interface.
Provides an easy to use mechanism for sharing a QObject's API (Properties/Signals/Slots) between processes or devices.
Classes for making Qt applications scriptable. Deprecated in favor of the QJS* classes in the Qt QML module.
Provides classes and tools for creating state machines from SCXML files and embedding them in applications.
Additional components for applications that use Qt Script.
Provides access to sensor hardware and motion gesture recognition.
Provides access to serial industrial bus interface. Currently the module supports the CAN bus and Modbus protocols.
Provides access to hardware and virtual serial ports.
Provides support for accessibility features such as text-to-speech.
Classes for displaying the contents of SVG files. Supports a subset of the SVG 1.2 Tiny standard.
Classes for loading QWidget based forms created in Qt Designer dynamically, at runtime.
Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients.
Classes and functions for embedding web content in applications using the Chromium browser project.
Provides WebSocket communication compliant with RFC 6455.
Displays web content in a QML application by using APIs native to the platform, without the need to include a full web browser stack.
Provides platform-specific APIs for Windows.
Provides platform-specific APIs for X11.
C++ implementations of SAX and DOM.
Support for XPath, XQuery, XSLT and XML schema validation.
Provides a framework to develop a Wayland compositor.
UI Components for displaying visually pleasing charts, driven by static or dynamic data models.
UI Components for creating stunning 3D data visualizations.
Provides support for OAuth-based authorization to online services.
A framework for implementing different input methods as well as a QML virtual keyboard. Supports localized keyboard layouts and custom visual themes.
Provides a platform plugin that allows streaming Qt Quick user interfaces over the network using WebGL.
Provides a UI rendering component that can be used to render safety-critical items, such as warning indicators, in functional safety systems.
In-Vehicle Infotainment module that provides tooling and core classes for implementing interfaces to middleware services.
Provides C++ classes for interacting with services specified by the GENIVI Automotive Alliance.
A Qt reference UI implementation for In-Vehicle Infotainment (IVI) systems.
Provides a basis for a multi-application embedded system, taking care of application lifecycle management.
Provides network feeds to application packages that are available for installation by Qt Application Manager.
Provides functionality for controlling various settings in embedded applications.
A machine-to-machine (M2M) protocol that provides a communication channel with minimal overhead.
Implements the client side of a connection to a KNXnet/IP server. This connection can be used to send messages to the KNX bus and to control KNX devices.
A Qt API for interacting with OPC UA, a protocol for data modelling and data exchange in industrial applications.
Add-ons or features are still in development but are available as technology previews.
Constrained Application Protocol (CoAP) is a machine-to-machine web transfer protocol for use with constrained nodes and networks in the Internet of Things.
Provides lightweight UI controls that can be customized to create performant user interfaces for embedded devices.
A graphics rendering engine to render QML applications on resource-constrained hardware with low memory requirements.
Hardware specific adaptations to allow Qt Quick Ultralite applications to run on target hardware.
Qt PDF provides components for building PDF-viewing applications using QtQuick or Widgets.
Adobe Photoshop and Sketch Bridges for the Qt Design Studio to convert artwork into Qt Quick files.
Qt Charts for MCUs provide easy to use chart components for Qt Quick Ultralight.
The Calendar provides a collection of modular building blocks for creating calendars in Qt Quick.
TreeView provides a QML type to display data from any QAbstractItemModel. It extends TableView with expandable and collapsable nodes, which can be used in either a list or a table model.
Cursor navigation provides a selector for individual UI elements such as buttons. In addition to a 4-way navigation used in traditional rectangular UIs, it allows a free navigation to move the cursor in any direction.