How good is the Qts documentation

About Qt / de


What is qt

Qt is a framework that supports platform-independent development for desktop, embedded and mobile applications. Supported platforms are Linux, OS X, Windows, VxWorks, QNX, Android, iOS, BlackBerry, Sailfish OS and others.

Qt is no independent programming language. It is a framework written in C ++. A preprocessor, the MOC (Meta-Object Compiler), is used to add features such as signals and slots to the C ++ programming language. Before compilation, the MOC parses the source files, which are written in C ++ with Qt extensions, and uses them to generate C ++ standard-compliant source files. Therefore the framework itself and the applications or libraries that use it can be compiled by any C ++ standard-compliant compiler such as Clang, GCC, ICC, MinGW and MSVC.

The Qt Company and the Qt Project

The development of Qt began in 1990 by the Norwegian programmers Eirik Chambe-Eng and Haavard Nord. Her company, Trolltech, which sold Qt licenses and provided support, has gone through several acquisitions over the years. Formerly Trolltech, the Qt Company is now a wholly owned subsidiary of Digia Plc., Finland. Although the Qt Company is the main driver behind Qt, Qt is now being developed by a larger alliance: the Qt Project. It consists of many companies and individuals around the globe and follows a performance-based control system.

Anyone who wants, whether individuals or companies, can join here. There are many ways to contribute to the Qt project, for example by writing code or documentation for the framework, reporting bugs, helping other users in the forum or maintaining the pages of this wiki (see also /).


Qt is available under different licenses: The Qt Company sells commercial licenses, but Qt is also available as free software under different versions of the GPL and LGPL (License FAQs).

Build system

Although any build system can be used with Qt, Qt brings its own build system with qmake. It is a platform-independent front-end for platform-native build systems such as GNU Make, Visual Studio and Xcode.

CMake is also a popular alternative for building Qt projects; Support for this has been integrated into Qt4 for years and Qt5 offered support for it early on.

There has recently been a new player: the Qt Build-Suite also known as Qbs. Qbs is a QML-based build system that also supports Javascript. This build system not only offers the possibility of building projects, but also, like cmake, the ability to create packages.

Integrated development environment (IDE)

Qt brings its own Integrated Development Environment (IDE) with it: the Qt Creator. It runs on Linux, OS X and Windows and offers intelligent code completion, syntax highlighting, an integrated help system, debugger and profiler integration and also integration for all common version control systems (e.g. git, bazaar). In addition to the Qt Creator, developers on Windows can also use the Qt's Visual Studio Add-in. Other IDEs (e.g. KDevelop under KDE) can also be used. But of course there is no obligation to use an IDE at all.

Internationalization and Localization (Languages)

Qt brings excellent support for internationalization (i18n for short). The tool Qt Linguist and its companions lupdate, lrelease and lconvert make it easy to translate applications into the local languages. Qt supports most of the languages ​​and writing systems in use today. A full list can be found on the relevant help pages.


Graphical user interfaces (GUI for short) can be written with Qt directly in C ++ using its widgets module. Qt also brings an interactive graphical tool called Qt Designer, which is a code generator for widget-based GUIs. Qt Designer can be used independently, but is also integrated into the Qt Creator.


Another way to write GUIs with Qt is to use the QtQuick module. GUIs that use QtQuick are written in QML. QML is a declarative object description language that integrates Javascript for procedural programming. QtQuick offers the necessary modules for GUI development with QML. It is possible to write whole programs only in QML, but mostly only the GUI is written in QML and the program backend is programmed in C ++ (see Integrating QML and C ++). The Qt Creator also offers a built-in QtQuick GUI designer and profiler.

Further modules

Qt is much more than a GUI toolkit. It provides modules for platform-independent development in the areas of networks, databases, OpenGL, web technologies, sensors, communication protocols (Bluetooth, serial ports, NFC), XML and JSON processing, printing, PDF generation and much more.

For a full list of official Qt modules, see the All Modules page in the Qt documentation.

On the page there is also a list of 3rd party modules based on Qt that can be used in Qt projects.

Language bindings

Although programs that use Qt are mostly written in C ++ and QML, there are links to other programming languages. These are not part of Qt but are made available by different 3rd parties. Riverbank Computing, for example, offers a Python connection (PyQt) as commercial and free software. Further language bindings can be found under Category: LanguageBindings.