Qt (software)
Qt is a cross-platform application development framework for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.
Qt is currently being developed by The Qt Company, a publicly listed company, and the Qt Project under open-source governance, involving individual developers and organizations working to advance Qt. Qt is available under both commercial licenses and open-source GPL 2.0, GPL 3.0, and LGPL 3.0 licenses.
Purposes and abilities
Qt is used for developing graphical user interfaces and multi-platform applications that run on all major desktop platforms and mobile or embedded platforms.Most GUI programs created with Qt have a native-looking interface, in which case Qt is classified as a widget toolkit. Non-GUI programs can also be developed, such as command-line tools and consoles for servers. An example of such a non-GUI program using Qt is the Cutelyst web framework.
Qt supports various C++ compilers, including the GCC and Clang C++ compilers and the Visual Studio suite. It supports other languages with bindings or extensions, such as Python via Python bindings and PHP via an extension for PHP5, and has extensive internationalization support. Qt also provides Qt Quick, that includes a declarative scripting language called QML that allows using JavaScript to provide the logic. With Qt Quick, rapid application development for mobile devices became possible, while logic can still be written with native code as well to achieve the best possible performance.
Other features include SQL database access, XML parsing, JSON parsing, thread management and network support.
Releases
The latest version of the Qt Framework is Qt 6.10, which was released on 7 October 2025.Also still supported are versions 6.9 until 31 May 2026 and 6.8 LTS until 8 October 2029. Version 6.5 LTS is supported for commercial users only until 30 May 2026. Additionally, extended support for all versions 5.0 and newer is available for commercial users.
Minor versions of Qt are typically released twice a year and are supported until one year after release date under standard support conditions. Typically, every third minor version becomes a long-term support version which gets additional patches. LTS versions are supported for commercial users until five years after their release date.
Qt in use
In 2017, the Qt Company estimated a community of about 1 million developers worldwide in over 70 industries.Desktop UIs
Graphical user-interfaces and desktop environments that utilize Qt/QML as widget toolkit:- KDE Plasma, a libre desktop environment for various computing devices
- DDE of Linux Deepin
- UKUI
- CutefishDE, a desktop environment built with Qt Quick and essential KDE frameworks
- LXQt
- Lumina, a desktop environment designed for BSD-based TrueOS
- Lomiri, a convergent desktop environment started by Canonical, maintained by Ubports
- Maui Shell, a DE that also features their own app suite
- Unity 2D, a desktop shell written in Qt and Qml
- Trinity DE, a continuously developed fork based on KDE3
- SDDM, a display manager written in QML that is compatible with X11 and Wayland.
Embedded and mobile UIs
- Actively developed or maintained
- * AsteroidOS, an open source operating system designed for smartwatches
- * Avionics, Panasonic's in-flight entertainment system
- * Sailfish OS, a mobile operating system developed by Jolla
- * Plasma Mobile, a touch-based GUI developed by KDE
- * LuneOS, community-driven successor for Palm/HP webOS
- * Nemo Mobile, based on Mer
- * Lomiri, formerly known as Unity8, a phone UI developed by Ubports, originally by Canonical
- * Tesla Model S in-car UI
- * webOS, a multitask operating system from LG for smart devices like TVs and smartwatches
- * Sky Q, the home entertainment system of Sky plc
- Available, but inactive
- * MeeGo handset and tablet UX
- * Qtopia, a system by Nokia for embedded and mobile devices
Applications using Qt
- 010 Editor, a commercial hex editor and text editor for Microsoft Windows, Linux and macOS.
- Ableton Live
- Adobe Photoshop Album
- Adobe Photoshop Elements
- AMD's Radeon Software Crimson Edition driver tool application.
- Audacious, a music player for Linux, other Unix-like operating systems, and Microsoft Windows.
- Audacity, a digital audio editor and recording application.
- Autodesk Fusion
- Autodesk Maya
- Autodesk 3ds Max
- Bitcoin Core, the reference bitcoin implementation. Most bitcoin forks also provide the reference GUI.
- Calibre, ebook collection application
- Celestia, real-time 3D simulator of the entire known universe
- CryEngine V editor
- DaVinci Resolve, a video editor
- Dogecoin Core community-driven cryptocurrency software.
- Dolphin, an emulator for the Wii and GameCube
- Dorico notation software
- Dragonframe stop motion animation software
- EAGLE by CadSoft Computer / Autodesk, an EDA application with schematic capture, PCB layout, auto-router and CAM features
- FreeCAD, free open source parametric 3D CAD modeler
- FreeMat free open source numerical computing environment
- Gambas free open source BASIC integrated development environment
- GCompris educational suite for children
- Google Earth
- GPlates, a plate tectonics visualisation software
- Igor Pro, a data analysis software
- Krita graphics editing and digital painting software
- LMMS, a cross-platform music production software
- Mathematica, a mathematical symbolic computation program, sometimes termed a computer algebra system or program, used in many scientific, engineering, mathematical, and computing fields.
- Mixxx, an open-source digital DJ application.
- Monero, a privacy-focused cryptocurrency, implements its official desktop wallet software using Qt.
- MuseScore, an open-source, multiplatform notation software
- OBS, a libre cross-platform screencast software
- Orange data mining suite
- Packet Sender Network Test Utility
- ParaView open-source cross-platform application for interactive, scientific visualization
- PCSX2, a free and open-source cross-platform PlayStation 2 emulator
- qBittorrent cross-platform free and open-source BitTorrent client
- QGIS geographic information system
- Qtractor Audio multitrack recorder and editing software
- QuiteRSS Feed Reader
- Retroshare F2F communication platform
- Roblox Studio a game creation tool used on the Roblox platform
- RStudio Desktop GUI and IDE for R statistical software
- Scribus desktop publishing software
- Sibelius music composition and notation software
- SoulseekQT, a P2P file-sharing client
- Source 2 engine tools a 3D video game engine developed by Valve
- Spyder, a Python IDE
- Stellarium, a planetarium program
- Subsurface, a software for logging and planning scuba dives initially designed and developed by Linus Torvalds
- SuperCollider, an environment and programming language for real-time audio synthesis and algorithmic composition
- Synergy, a software application for sharing a keyboard and mouse between multiple computers
- Teamviewer, a computer software package for remote control, desktop sharing, online meetings, web conferencing and file transfer between computers
- Telegram, a messaging client available for Windows, Mac and Linux
- VirtualBox OS virtualization software
- VLC media player
- WeChat 4.0
- Wireshark, a packet analyzer
- WPS Office
- XaoS, a real-time fractal zoomer
- XnView MP
Organizations using Qt
- AMD
- Blizzard Entertainment
- BMW
- Crytek
- Daimler AG
- DreamWorks
- Electronic Arts
- European Space Agency
- German Air Traffic Control
- HP
- LG
- Lucasfilm
- Microsoft
- Panasonic
- Philips
- Robert Bosch GmbH
- Samsung
- Siemens
- Tesla
- Tomtom
- Valve
- Volvo
- Walt Disney Animation Studios
Qt software architecture
Qt concepts
Qt is built on these key concepts:Complete abstraction of the GUI
When first released, Qt used its own paint engine and controls, emulating the look of the different platforms it runs on when it drew its widgets. This made the porting work easier because very few classes in Qt really depended on the target platform; however, this occasionally led to slight discrepancies where that emulation was imperfect. Recent versions of Qt use the native style APIs of the different platforms, on platforms that have a native widget set, to query metrics and draw most controls, and do not suffer from such issues as often. On some platforms Qt is the native API. Some other portable graphical toolkits have made different design decisions; for example, wxWidgets uses the toolkits of the target platform for its implementations.Signals and slots
are a language construct introduced in Qt for communication between objects which makes it easy to implement the observer pattern while avoiding boilerplate code. The concept is that GUI widgets can send signals containing event information which can be received by other controls using special functions known as slots.Metaobject compiler
The metaobject compiler, termed moc, is a tool that is run on the sources of a Qt program. It interprets certain macros from the C++ code as annotations, and uses them to generate added C++ code with meta information about the classes used in the program. This meta information is used by Qt to provide programming features not available natively in C++: signals and slots, introspection and asynchronous function calls.Qt moc does not recognise modules in its preprocessor currently.