Category:LanguageBindings
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 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 [qt.io]
- Queryable and designable object properties [qt.io]
- Powerful events and events filters [qt.io]
- Contextual string translation for internationalization [qt.io]
- Sophisticated interval driven timers [qt.io] that make it possible to elegantly integrate many tasks in an event-driven GUI
- Hierarchical and queryable object trees [qt.io] that organize object ownership in a natural way
- Guarded pointers [qt.io] 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 [qt.io] 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 [doc.qt.nokia.com]
- No C++ knowledge required for UI creation, but can be extended with C++
Find out more about Qt Quick [doc.qt.nokia.com]
These are third party language bindings for Qt
PySide: Python for Qt [pyside.org] (LGPL)
- Wiki
- Documentation (Guides and Tutorials)
- Development
- Downloads
- Mailing list [lists.qt.io]
- Source code [qt.gitorious.org]
- Bug Tracker [bugreports.qt.io]
PyQt [riverbankcomputing.com] (GPL/commercial)
- Tutorials [wiki.python.org]
- API Documentation [riverbankcomputing.com]
- Reference Guide [riverbankcomputing.com]
- Book [qtrac.eu]
- Whitepaper [riverbankcomputing.com]
Qt for Java [qt.gitorious.org] (QtJambi, Windows/Mac/Linux)
Qt Jambi – Qt bindings to the Java programming language – is maintained by the community. You can find more information from http://qt-jambi.org.
- Jambi Community [qt-jambi.org]
- Old tutorial [doc.qt.digia.com]
- Old API Javadoc [doc.qt.digia.com]
Qt for Ruby [techbase.kde.org] (QtRuby)
The project provides complete bindings to both the KDE API and the Qt APIs. The Korundum package includes both a QtRuby Qt-only binding along with the full combined Qt/KDE one. The QtRuby package contains just Qt bindings with no dependencies on KDE.
Qt for BASIC [kbasic.com] (KBasic)
KBasic uses Qt as its toolkit to provide cross-platform abilities. KBasic is a further BASIC dialect and is related to VB.NET™, Visual Basic®, Visual Basic for Application® and Java™. It combines several features and includes built-in backward support for QBasic®.
Qt for Ada 2005 [qtada.com] (QtAda)
QtAda is an Ada2005 language prividing bindings to the Qt libraries and a set of useful tools. QtAda supports Qt version 4.6 and later.
——
Perl bindings
official PerlQt and PerlKDE [projects.kde.org]
This is what the Linux distros ship. Expect updates for Qt5 in 2013. Subscribe to the kde-bindings list [lists.kde.org] for news.
This repository used to be at Google code [code.google.com], then moved to KDE in 2012. Some outdated code snapshots are on CPAN [search.cpan.org] prefer the KDE repository.
Vadim Likhota bindings [search.cpan.org]
One-man effort, last updated 2008. opendesktop.org mirror [opendesktop.org]
Dongxu Ma bindings [search.cpan.org]
One-man effort, last update 2012. GitHub mirror [github.com]
PerlQt3 [sf.net]
Outdated, Qt3 only.
PerlQt [search.cpan.org]
Outdated, Qt2 and Qt1 only.
——
Qt for C# [techbase.kde.org] (Qyoto) Qyoto makes it possible to develop Qt and KDE applications using C#, or any other .NET language. Qyoto uses SMOKE, and offers access to almost all Qt and KDE classes.
Qt for D [dsource.org] (QtD)
QtD is a binding of the Qt framework to the D programming language version 2. [digitalmars.com]
Qt for Pascal [wiki.lazarus.freepascal.org] (FPC Qt4 Binding)
The Free Pascal Qt4 binding allows Free Pascal to interface with the C++ Library Qt. This binding does not cover the whole Qt4 framework but only the classes needed by the Cross Platform Lazarus IDE to use Qt as a Widget set. More info [users.telenet.be]
Qt for Lua [nongnu.org] (QtLua)
The QtLua library are trying to make Qt4 applications scriptable using the Lua scripting language as an alternative to the QtScript module.
Qt for Haskell [qthaskell.berlios.de] (qtHaskell)
The qtHaskell project provides a set of Haskell bindings for Qt. Haskell programmers can access the “Signals and Slots” interface logic, design interfaces using Qt Designer and write scripted applications using the Qt ECMA/Javascript engine.
Qt Quick for Haskell [gekkou.co.uk] (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 [kakadu.github.io] (lablqt)
Qt for PHP [sourceforge.net] (PHP-Qt)
Qt for Chicken Scheme [wiki.call-cc.org] (Qt 4 egg)
An incomplete binding which supports loading UI files, binding to GUIs thus instantiated, and networking and dbus functionality.
References
- Wikipedia has a comprehensive “list of language bindings for Qt”: https://en.wikipedia.org/wiki/Qt_(framework)#Programming_language_bindings
Subcategories:
There are 6 subcategories for this category
There are 136 articles in "LanguageBindings":
- About PySide
- About PySide Japanese
- Auto generating QObject from template in PySide===B===
- Building_PySide
- Building_PySide_on_Android
- Building_PySide_on_Linux
- Building_PySide_on_Mac_OS_X
- Building_PySide_on_Symbian
- Building_PySide_on_Windows
- Building_Qt_Jambi_on_Windows_using_MinGW===C===
- Connecting_QML_Signals_in_PySide===D===
- Defining and using constants from PySide in QML
- Defining and using constants from PySide in QML Korean
- Differences_Between_PySide_and_PyQt
- Differences_Between_PySide_and_PyQt_SimplifiedChinese===F===
- Filling and reading QML UI forms from Python===G===
- Generating_new_bindings_with_PySide
- Generating_PySide_Reference_Documentation===H===
- Hello World in PySide
- Hello World in PySide and QtQuick
- Hello World in PySide and QtQuick Japanese
- Hello World in PySide and QtQuick Korean
- Hello World in PySide Japanese
- Hello World in PySide Korean===L===
- Category:LanguageBindings
- Category:LanguageBindings -> PySide
- Category:LanguageBindings -> PySide -> Downloads
- Category:LanguageBindings -> PySide -> Newbie_Tutorials
- Category:LanguageBindings -> PySideJapanese
- Category:LanguageBindings -> PySide_FAQ_Japanese===M===
- Multi selection lists in Python with QML===P===
- Packaging_PySide_applications_on_Windows
- PySide and QML Playground
- PySide Internationalization Japanese
- PySide Newbie Tutorials
- PySide Newbie Tutorials Japanese
- PySide Pitfalls Japanese
- PySide QtQuick Tutorials
- PySide Tutorials by Experience Level
- PySide Tutorials by Experience Level Japanese
- PySide Tutorials by Experience Level Korean
- PySideContributors
- PySideDevelopment
- PySideDocumentation
- PySideDocumentationJapanese
- PySideDownloadsJapanese
- PySideSimplicissimus_Module_1_Prerequisites
- PySideSimplicissimus_Module_2_CloseButton
- PySideSimplicissimus_Module_2_CloseButton_Japanese
- PySideSimplicissimus_Module_3_AboutBox
- PySideSimplicissimus_Module_3_AboutBox_Japanese
- PySideSimplicissimus_Module_4_ShowLicence
- PySideSimplicissimus_Module_4_ShowLicence_Japanese
- PySideSimplicissimus_Module_5_Combine
- PySideSimplicissimus_Module_5_Combine_Japanese
- PySideSimplicissimus_Module_6_AlternativeCombine
- PySideSimplicissimus_Module_6_AlternativeCombine_Japanese
- PySideSimplicissimus_Module_7_CombineAllIn1
- PySideSimplicissimus_Module_7_CombineAllIn1_Japanese
- PySideTutorials_Clickable_button
- PySideTutorials_Clickable_button_Japanese
- PySideTutorials_Simple_Dialog
- PySideTutorials_Simple_Dialog_Japanese
- PySide_API_Extractor
- PySide_Archives
- PySide_Based_Apps
- PySide_Binaries_Linux
- PySide_Binaries_MacOSX
- PySide_Binaries_Maemo
- PySide_Binaries_MeeGo
- PySide_Binaries_Windows
- PySide_Binding_Generation_Tutorial
- PySide_Binding_Generation_Tutorial:_Module_1_Creating_the_foo_library
- PySide_Binding_Generation_Tutorial:_Module_2_Binding_libfoo_using_Shiboken
- PySide_Binding_Generation_Tutorial:_Module_3_Creating_Type_System_Description
- PySide_Binding_Generation_Tutorial:_Module_4_The_Global_Header
- PySide_Binding_Generation_Tutorial:_Module_5_Building_the_generator
- PySide_Binding_Generator
- PySide_Bits_Pieces
- PySide_CMake_Primer
- PySide_DBus_Integration
- PySide_Development_Getting_Started
- PySide_Engineering_Application
- PySide_Error_Management
- PySide_Examples
- PySide_Example_Applications
- PySide_FAQ
- PySide_for_Android_guide
- PySide_Generating_New_Bindings
- PySide_GSoc_Ideas
- PySide_Hungarian
- PySide_Internationalization
- PySide_Logo
- PySide_Pitfalls
- PySide_Presentations
- PySide_Python_3_Issues
- PySide_Python_3_Support
- PySide_QML_Tutorial_Advanced_1
- PySide_QML_Tutorial_Advanced_2
- PySide_QML_Tutorial_Advanced_312>
Categories:
This category currently contains no pages or media.