Qt
By The Qt Company
Qt is a cross-platform application framework, primarily used with C++ (and Python via PyQt/PySide bindings), for building desktop, mobile, and embedded GUIs from a single codebase using a signals-and-slots event model.
Definition
Qt is a cross-platform application framework, primarily used with C++ (and Python via PyQt/PySide bindings), for building desktop, mobile, and embedded GUIs from a single codebase using a signals-and-slots event model.
Overview
Originally released in 1995 by the Norwegian company Trolltech, Qt was built so developers could write one codebase and compile native-looking applications for Windows, macOS, Linux, and embedded platforms. Ownership passed through Nokia and Digia before settling with The Qt Company, which maintains it today under a dual open-source (LGPL/GPL) and commercial license. Qt is built around two UI approaches: the traditional Qt Widgets toolkit for classic desktop interfaces, and Qt Quick/QML, a declarative language for building fluid, GPU-accelerated interfaces. Its signature signals-and-slots mechanism lets objects communicate through type-safe event connections instead of raw callbacks, which keeps large GUI codebases decoupled and maintainable. The Qt Creator IDE bundles a visual UI designer, debugger, and profiler, and Python developers can access the same framework through PyQt or PySide bindings around Python. Qt is heavily used in automotive infotainment systems, industrial and medical device interfaces, and desktop applications that need one codebase across operating systems, positioning it against toolkits like GTK and newer options such as Electron for the desktop, while native mobile tooling like Android Studio or Xcode remains the more common choice for pure iOS/Android apps.
Key Features
- Single C++/QML codebase compiling natively to Windows, macOS, Linux, and embedded targets
- Signals-and-slots mechanism for type-safe, decoupled event handling
- Qt Quick/QML declarative language for fluid, GPU-accelerated UIs
- Extensive widget library for native-looking desktop interfaces
- Qt Creator IDE with a visual designer, debugger, and profiler
- Python bindings (PyQt, PySide) alongside the native C++ API
- Dual licensing: open-source (LGPL/GPL) and commercial