Programming Language Support
The Qt API is implemented in C++, and provides official support for development in either C++ or Java™ programming languages. Community bindings exist for several other languages, including Ada, Pascal, Perl, PHP, Ruby and Python.
Qt for C++ Development
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.
Qt for Java DevelopmentQt provides Java developers with a complete application framework that enables them to create high-end, rich client applications. Qt relies on the J2SE Runtime Environment (JRE®) and the Java Native Interface (JNI) to enable programming with Java. Qt provides the following for Java developers:
|
Qt for Java Development
|
Additional Language Bindings
Qt bindings exist for several other languages. These bindings are projects developed and maintained by members of the Qt open source community, and are not officially supported by Qt Software.



