Programming Language Support

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 Ada, Pascal, Perl, PHP, Ruby, Python 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++:

  • 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 that works across library boundaries.


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.

  • 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 Elements
  • No C++ knowledge required for UI creation, but can be extended with C++

Find out more about Qt Quick

Additional Language Bindings

Qt bindings exist for several other languages. These bindings are projects developed and maintained among the free software community, and are not officially supported by us.


Qt for Java Development

Qt Jambi – Qt bindings to the Java programming language – has been discontinued in order to focus resources on the Qt cross platform application and UI framework. 

Qt Digia

Qt Project

Meet Qt

Follow Us

  • Qt
  • © 2013 | Digia Oyj, Valimotie 21, 00380 Helsinki Finland Tel. +358 10 313 3000