Qt
aus Wikipedia, der freien Enzyklopädie
Diese Seite beschäftigt sich mit der Programmierung graphischer Benutzeroberflächen. Für andere Bedeutungen von Qt siehe Qt (Begriffsklärung).
Qt ist eine Klassenbibliothek und Entwicklungsumgebung für die plattformübergreifende Programmierung graphischer Benutzeroberflächen (GUI) unter C++.
| Inhaltsverzeichnis |
Qt wird von der norwegischen Firma Trolltech entwickelt. Während die Linux- und MacOSX-Ausgaben unter der GNU General Public License (GPL) kostenlos und mit
Quelltexten zur Verfügung stehen, wird die Ausgabe für Windows kommerziell vertrieben.
Varianten
Es gibt derzeit die folgenden Varianten des Qt Toolkits, die auf verschiedenen Plattformen laufen, aber unterschiedlichen Lizenzen unterliegen:
- Qt/X11 — Qt für das X Window System (GPL oder Proprietär)
- Qt/Mac — Qt für Apple Mac OS X (früher nur propritär, jetzt auch unter der GPL)
- Qt/Windows — Qt für Microsoft Windows (propritär)
- Qt/Embedded — entwickelt für PDAs und Embedded Linux (GPL)
Das KDE/Cygwin Projekt arbeitete an einer neuen nativen Windows Version von Qt, die auf der Qt/X11 Variante basiert und somit vollständig GPL-lizensiert ist.
Besonderheiten
Eine Besonderheit ist die Verwendung von "signals" und "slots", die auf einfache Art und Weise die Kommunikation zwischen einzelnen Objekten ermöglicht. Bei den meisten anderen Klassenbibliotheken wird dies durch Callback-Funktionen realisiert. Die Herangehensweise mittels Callback-Funktionen hat zwar einen geringen Vorteil bezüglich der Ausführungsgeschwindigkeit, aber beachtliche Nachteile bei der Pflege der Programme.
Prominente Beispiele, in denen das Qt-Toolkit zum Einsatz kommt, sind z. B.:
- die freie KDE-Desktopumgebung,
- der Opera-Webbrowser,
- das Bildbearbeitungsprogramm Photoshop Album von Adobe sowie
- das Videoschnittprogramm MainActor der Firma MainConcept.
Einsatz im Embedded Bereich
Mit Qt/Embedded stellte Trolltech eine Version vor, die den Linux Framebuffer statt des X-Window-Systems benutzt. Diese wird vor allem in eingebettenen Geräten auf Linux Basis eingesetzt. Bekannt wurde sie vor allem durch den Zaurus PDA von Sharp, der auf Qt/Embedded und deren grafische Oberfläche Qtopia aufsetzte.
Lizensierung
Anfänglich wurde Qt für Linux unter einer eigenen Lizenz, der QPL (Q Public License), veröffentlicht, deren Qualifizierung als Open Source strittig war.
Dies führte dazu, dass sich viele Linux Entwickler statt für Qt und KDE für das GIMP-Toolkit GTK+ entschieden, auf dessen Basis sich das GNOME Projekt begründete.
Als der Druck auf Trolltech größer wurde und das Debian Projekt begann, KDE als unfreie Software zu klassifizieren, änderte Trolltech im Jahre 2000 die Lizenz für die Linux Version des Toolkits: Seit Version 2.2 gibt es fortan eine Duallizensierung GPL/QPL.
FreeQt Foundation
Noch zuvor wurde die FreeQt-Foundation ins Leben gerufen. Diese besteht aus jeweils zwei Vertretern von Trolltech und dem KDE e.V., wobei letztere im Zweifelsfall bei Abstimmungen die Majorität haben. Die Foundation ist berechtigt, die letzte freie Qt Version unter der BSD-Lizenz freizugeben, falls Trolltech übernommen wird oder länger als ein halbes Jahr kein Update liefert.
PyQt
Die britische Firma Riverbank Computing Ltd. hat unter dem Namen PyQt eine Python-API entwickelt, die zu ähnlichen Bedingungen wie Qt erhältlich ist (GPL'ed kostenlos unter Linux, sonst kommerziell).
Weblinks
- Trolltech (http://www.trolltech.com)
- PyQt (http://www.riverbankcomputing.co.uk/pyqt/)
- Qt 3.3 Dokumentation (http://doc.trolltech.com/3.3/)
- KDE/Cygwin (http://kde-cygwin.sourceforge.net/)

