Category:Languagebindings: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
(Tidied up syntax.)
(Sorted the projects by name in alphabetical order.)
Line 29: Line 29:
== These are third party language bindings for Qt ==
== These are third party language bindings for Qt ==


The following are a selection of language bindings for Qt, sorted in alphabetical order of their project names.
The following are a selection of language bindings for Qt, sorted by project name in alphabetical order.


=== [http://www.q7basic.org/index.html Basic For Qt] (Basic) ===
=== [http://www.q7basic.org/index.html Basic For Qt] (Basic) ===


"Basic For Qt® is related to VB.NET™ and Visual Basic® and combines the best features of those tools and supports similar syntax, functions, objects and classes. It is an open source project backed by years of continual development. The project is under active development and has a vibrant community."
"Basic For Qt® is related to VB.NET™ and Visual Basic® and combines the best features of those tools and supports similar syntax, functions, objects and classes. It is an open source project backed by years of continual development. The project is under active development and has a vibrant community."
=== [http://wiki.lazarus.freepascal.org/Qt4_binding FPC Qt4 Binding] (Qt for Pascal) ===
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 [http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html info].
=== [http://www.gekkou.co.uk/software/hsqml/ HsQML] (Qt Quick for Haskell) ===
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.


=== [http://kakadu.github.io/lablqt/ lablqt] (Qt Quick for OCaml) ===
=== [http://kakadu.github.io/lablqt/ lablqt] (Qt Quick for OCaml) ===


OCaml integration with Qt Quick 2.
OCaml integration with Qt Quick 2.
=== [http://sourceforge.net/projects/php-qt/ PHP-Qt] (Qt for PHP) ===


=== [http://www.riverbankcomputing.com/news PyQt] (Qt for Python, GPL/commercial) ===
=== [http://www.riverbankcomputing.com/news PyQt] (Qt for Python, GPL/commercial) ===
Line 61: Line 71:
* "Source code":http://qt.gitorious.org/pyside
* "Source code":http://qt.gitorious.org/pyside
* "Bug Tracker":https://bugreports.qt.io/browse/PYSIDE
* "Bug Tracker":https://bugreports.qt.io/browse/PYSIDE
=== [http://wiki.call-cc.org/eggref/4/qt Qt 4 egg] (Qt for Chicken Scheme) ===
An incomplete binding which supports loading UI files, binding to GUIs thus instantiated, and networking and dbus functionality.


=== [http://www.qtada.com/ QtAda] (Qt for Ada 2005) ===
=== [http://www.qtada.com/ QtAda] (Qt for Ada 2005) ===
Line 67: Line 81:


* [[qtada_fedora | Building QtAda on Fedora 16]]
* [[qtada_fedora | Building QtAda on Fedora 16]]
=== [http://www.dsource.org/projects/qtd QtD] (Qt for D) ===
QtD is a binding of the Qt framework to the [http://www.digitalmars.com/d/2.0/index.html D programming language version 2].
=== [http://qthaskell.berlios.de/ qtHaskell] (Qt for Haskell) ===
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.


=== [https://github.com/qtjambi/qtjambi Qt Jambi] (Qt for Java, Windows/Mac/Linux) ===
=== [https://github.com/qtjambi/qtjambi Qt Jambi] (Qt for Java, Windows/Mac/Linux) ===
Line 76: Line 98:
* [http://doc.qt.digia.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial.html Old tutorial] ''(link broken)''
* [http://doc.qt.digia.com/qtjambi-4.4/html/com/trolltech/qt/qtjambi-tutorial.html Old tutorial] ''(link broken)''
* [http://doc.qt.digia.com/qtjambi-4.4/html/index.html Old API Javadoc] ''(link broken)''
* [http://doc.qt.digia.com/qtjambi-4.4/html/index.html Old API Javadoc] ''(link broken)''
=== [http://www.nongnu.org/libqtlua/ QtLua] (Qt for Lua) ===
The QtLua library are trying to make Qt4 applications scriptable using the Lua scripting language as an alternative to the QtScript module.


=== [http://techbase.kde.org/Development/Languages/Ruby QtRuby] (Qt for Ruby) ===
=== [http://techbase.kde.org/Development/Languages/Ruby QtRuby] (Qt for Ruby) ===
Line 83: Line 109:
* [http://www.darshancomputing.com/qt4-qtruby-tutorial/ Tutorial]
* [http://www.darshancomputing.com/qt4-qtruby-tutorial/ Tutorial]
* [http://www.pragmaticprogrammer.com/titles/ctrubyqt/ Book] (for Qt 3)
* [http://www.pragmaticprogrammer.com/titles/ctrubyqt/ Book] (for Qt 3)
=== [http://techbase.kde.org/Development/Languages/QtSharp Qyoto] (Qt for C#) ===
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.


-----
-----
Line 109: Line 138:


Qt2 and Qt1 only.
Qt2 and Qt1 only.


-----
-----
=== [http://techbase.kde.org/Development/Languages/QtSharp Qyoto] (Qt for C#) ===
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":http://www.dsource.org/projects/qtd (QtD) ===
QtD is a binding of the Qt framework to the "D programming language version 2.":http://www.digitalmars.com/d/2.0/index.html
=== "Qt for Pascal":http://wiki.lazarus.freepascal.org/Qt4_binding (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":http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html
=== "Qt for Lua":http://www.nongnu.org/libqtlua/ (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":http://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":http://www.gekkou.co.uk/software/hsqml/ (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 for PHP":http://sourceforge.net/projects/php-qt/ (PHP-Qt) ===
=== "Qt for Chicken Scheme":http://wiki.call-cc.org/eggref/4/qt (Qt 4 egg) ===
An incomplete binding which supports loading UI files, binding to GUIs thus instantiated, and networking and dbus functionality.


== References ==
== References ==

Revision as of 14:34, 17 June 2015

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

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

These are third party language bindings for Qt

The following are a selection of language bindings for Qt, sorted by project name in alphabetical order.

Basic For Qt (Basic)

"Basic For Qt® is related to VB.NET™ and Visual Basic® and combines the best features of those tools and supports similar syntax, functions, objects and classes. It is an open source project backed by years of continual development. The project is under active development and has a vibrant community."

FPC Qt4 Binding (Qt for Pascal)

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.

HsQML (Qt Quick for Haskell)

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.

lablqt (Qt Quick for OCaml)

OCaml integration with Qt Quick 2.

PHP-Qt (Qt for PHP)

PyQt (Qt for Python, GPL/commercial)

PyQt4:

PyQt5:

PySide (Qt for Python, LGPL)

Qt 4 egg (Qt for Chicken Scheme)

An incomplete binding which supports loading UI files, binding to GUIs thus instantiated, and networking and dbus functionality.

QtAda (Qt for Ada 2005)

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.

QtD (Qt for D)

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

qtHaskell (Qt for Haskell)

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 Jambi (Qt for Java, 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.

QtLua (Qt for Lua)

The QtLua library are trying to make Qt4 applications scriptable using the Lua scripting language as an alternative to the QtScript module.

QtRuby (Qt for Ruby)

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.

Qyoto (Qt for C#)

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.


Perl bindings

Official PerlQt and PerlKDE

This is what the Linux distros ship. Expect updates for Qt5 in 2013. Subscribe to the kde-bindings list for news.

This repository used to be at Google code, then moved to KDE in 2012. Some outdated code snapshots are on CPAN; prefer the KDE repository.

Vadim Likhota bindings

One-man effort, last updated 2008. opendesktop.org mirror

Dongxu Ma bindings

One-man effort, last update 2012. GitHub mirror

PerlQt3

Qt3 only.

PerlQt

Qt2 and Qt1 only.


References

This category currently contains no pages or media.