En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh
- 1 Programming Language Support & Language Bindings
- 2 C++ Development with Qt
- 3 QML Development with Qt Quick
- 4 Qt for Python
- 5 These are third party language bindings for Qt
- 5.1 Qt for Python (PyQt)
- 5.2 Qt for Ring (RingQt)
- 5.3 Qt for Rust (Rust-Qt)
- 5.4 Qt Quick for Rust (qml-rust)
- 5.5 Qt Quick for Rust (qmlrs)
- 5.6 Qt for Crystal (qt5.cr)
- 5.7 Qt for Go (qt)
- 5.8 Qt for C#/Mono/.Net (QtSharp)
- 5.9 Qt for C#/Mono/.Net (Qml.Net)
- 5.10 Qt for D (QtE5)
- 5.11 Qt for Haskell (qtHaskell)
- 5.12 Qtah
- 5.13 Qt for Julia (QML.jl)
- 5.14 Qt Quick for Haskell (HsQML)
- 5.15 Qt Quick for OCaml (lablqml)
- 5.16 Qt Quick for Node.js (Brig)
- 5.17 QML bindings for Nelson language
Programming Language Support & Language Bindings
C++ Development with Qt
Qt provides an intuitive C++ class library with a rich set of application build blocks for C++ development. Qt goes beyond C++ in the areas of inter-object communication and flexibility for advanced GUI development. Qt adds the following features to C++:
- Powerful mechanism for inter-object communication called signals and slots
- Queryable and designable object properties
- Powerful events and events filters
- Contextual string translation for internationalization
- Sophisticated interval driven timers that make it possible to elegantly integrate many tasks in an event-driven GUI
- Hierarchical and queryable object trees that organize object ownership in a natural way
- Guarded pointers that are automatically set to 0 when the referenced object is destroyed, unlike normal C++ pointers which become dangling pointers when their objects are destroyed
- A dynamic cast works across library boundaries.
QML Development with Qt Quick
- Optimized for touch-based, animated mobile UIs
- Includes a set of graphical and behavioral building blocks: QML Types
- No C++ knowledge required for UI creation, while it can be extended with C++
Qt for Python
The Qt for Python project provides the PySide2 module allowing users to develop Qt and QML application easily from Python.
- You can find more information for the project, which is currently available as a Technical Preview, in the wiki page.
- Compatible with Qt 5.11, and Python 2.7 and 3.5+.
Qt for Python (PySide2) is the official set of Python wheels that The Qt Company provides.
These are third party language bindings for Qt
Qt for Python (PyQt)
Qt for Ring (RingQt)
RingQt is a binding of the Qt framework to the Ring programming language.
Ring uses Qt as its toolkit to provide cross-platform abilities.
Qt for Rust (Rust-Qt)
Qt bindings for the Rust language
Qt Quick for Rust (qml-rust)
- QML bindings for the Rust language
Qt Quick for Rust (qmlrs)
- QML bindings for the Rust language
Qt for Crystal (qt5.cr)
- QML bindings for the Crystal language
Qt for Go (qt)
- Qt bindings for Go language
Qt for C#/Mono/.Net (QtSharp)
This project aims to create Mono/.NET libraries that wrap Qt thus enabling its usage through C#. It relies on the excellent CppSharp.
Qt for C#/Mono/.Net (Qml.Net)
Qt for D (QtE5)
QtE5 is a binding of the Qt framework to the D programming language version 2.
Qt for Haskell (qtHaskell)
The qtHaskell project provides a comprehensive set of Haskell bindings for 50 Qt modules with extensive examples and demo programs including qtHaskell versions of Tetrix, DiagramScene, PathDeform and the Qt Asteroids game which uses FRP (Functional Reactive Programming) techniques to control game states and behaviors.
The qtah project provides a set of Haskell bindings for Qt.
Qt for Julia (QML.jl)
This project provides bindings to Julia.
Qt Quick for Haskell (HsQML)
Qt Quick for OCaml (lablqml)
QML Bindings to OCaml.
Qt Quick for Node.js (Brig)
Nelson is an array programming language providing a powerful open computing environment for engineering and scientific applications using modern C/C++ libraries and others state of art numerical libraries.
The QML engine enables nelson programs to display and manipulate graphical content using Qt's QML framework. see some examples: https://www.youtube.com/watch?time_continue=1&v=L3fsg4zhTjE