Qt 6.4: A C++ Framework, an IDE and a Declarative Language
Summary
Qt is a cross-platform C++ framework for graphical and non-graphical programs, shipped with the Qt Creator IDE and the QML declarative language, and used for desktop, mobile and server software.
Recommend- Name
- Qt
- Version
- 6.4
- Pricing
- Paid
- Open source
- Open source
- Website
- https://www.qt.io/
- Updated
- 2026-10-06 05:19
Three things that share one name
Qt is often spoken of as if it were one product. It is really three: a C++ framework for building applications, an integrated development environment called Qt Creator, and a declarative language called QML that describes an interface rather than programming it. The version described here is 6.4.
The framework dates from 1991, when it was created at Qt Company, and it was built around a decision that still shapes it: write once, and let the framework deal with the differences between platforms underneath. That is why the same source can produce a window on several desktop systems without a separate code path for each.

A GUI toolkit that is not only a GUI toolkit
The obvious use is a graphical program: windows, widgets, dialogs, a menu bar. The less obvious one is that the same framework builds programs with no interface at all — console tools, services, server-side software. A team that already knows the framework does not have to change its habits, its build files or its error handling when the next thing it writes turns out to be a daemon rather than an application with a window.
Ownership of the project changed twice and both changes are part of its history rather than gossip: Nokia acquired the company in 2008, and in 2012 it passed to Digia, a Finnish company. The framework survived both transitions, which for a toolkit with a twenty-year span is the more relevant fact.
The IDE that came with the acquisition
Qt Creator arrived after the Nokia acquisition: a cross-platform environment for Qt, described at the time as lightweight, in contrast to the heavyweight environments that expected to own the whole project. It runs on Linux, Mac OS and Windows, and it is aimed at more than one target — desktop software, and applications for Android and for Apple's platforms from the same project.

QML, where the interface is described
QML is a declarative scripting language, and its files end in a .qml suffix. Declarative means the file states what the interface is — a rectangle here, a column of items, a transition when this value changes — instead of issuing the commands that would build it. The syntax deliberately resembles CSS, which makes the layout part readable to people who write web pages rather than desktop applications.
QML also accepts JavaScript, which is how behaviour is attached to the description. The engine that runs it depends on Google V8: an open-source JavaScript engine written in C++ and used in Node.js, in Chrome and in Chromium. A JavaScript engine is a virtual machine built to execute JavaScript, normally shipped inside a browser; V8 can also run outside one, which is what allows the same language to be used on the desktop.

Licensing, in one sentence
The framework is developed in the open and is available under an open-source license, with a commercial license alongside it for the cases where the open-source terms do not fit — which is why it is described as open source but not simply free. For a project that intends to keep its own source closed, that distinction is the first thing to check and the last thing people remember to check.
Where it fits
The honest summary is that Qt suits software that must look the same on several platforms and live for years, and that expects to be maintained by people who read C++. It is not the shortest path to a small utility, and the build system will not feel light the first time. What it offers in exchange is a framework old enough to have survived its own acquisitions, an IDE built for it, and a way to describe an interface that a designer can read.