Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Language Bindings

From Qt Wiki
Jump to navigation Jump to search

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

Programming Language Support & Language Bindings

The Qt API is implemented in C++, and provides additional features for easier cross-platform development. QML – introduced with Qt Quick is a CSS and JavaScript-like declarative, language designed to describe the user interface of a program: both what it looks like, and how it behaves. Bindings to Qt exist for several other languages, including Python, Ring, Go, Rust, PHP, and Java™.

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+:

QML Development with Qt Quick

QML is a declarative, JavaScript-based language designed to describe the user interface of a program: both what it looks like, and how it behaves. In QML, a user interface is specified as a tree of objects with properties, like in JSON.

  • JavaScript, HTML and CSS skills can be used to code complete apps
  • 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++

Find out more about Qt Quick

These are third party language bindings for Qt

Qt for Python (PyQt)

Qt for Python (PySide2)

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)

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 D (QtE5)

QtE5 is a binding of the Qt framework to the D programming language version 2.

Qt for Haskell (qtHaskell)

The qtah project provides a set of Haskell bindings for Qt.

Qt Quick for Haskell (HsQML)

HsQML provides a Haskell binding to the Qt Quick framework. It allows you to write graphical applications where the front-end is written in Qt Quick's QML language (incorporating JavaScript) and the back-end is written in Haskell.

Qt Quick for OCaml (lablqml)

QML Bindings to OCaml.

Qt Quick for Node.js (Brig)

The Brig project provides library for Qt Quick framework, making it possible to write graphical applications in JavaScript and QML languages.