Qt4 freigegeben [Update]

Die vierte Release des plattformübergreifenden C++-Frameworks bringt zahlreiche neue Funktionen -- und ist nun erstmals in einer nur leicht abgespeckten Variante auch für Windows unter der freien Software-Lizenz GPL erhältlich.

In Pocket speichern vorlesen Druckansicht 361 Kommentare lesen
Lesezeit: 5 Min.
Von
  • Oliver Lau

Die norwegische Softwareschmiede Trolltech hat die vierte Release ihres plattformübergreifenden C++-Frameworks vorgelegt, das beispielsweise für den Unix/Linux-Desktop KDE eingesetzt wird. Waren die Vorgänger allesamt eher auf die Entwicklung grafischer Bedienoberflächen ausgelegt, entpuppt sich Qt4 nun als Klassen- und Funktionsbibliothek, die sich auch zur Programmierung serverseitiger Applikationen eignet.

Qt4 kommt in drei Ausgaben: einer vollständigen Desktop Edition, die alle Qt-Module und -Tools umfasst, einer abgespeckten Desktop Light Edition, bei der der Programmierer auf einige Vorzüge der Desktop Edition verzichten muss und die funktional mit der aktuellen 3er-Version vergleichbar sein soll, sowie einer Console Edition ohne GUI-Module, die auf die Entwicklung serverseitiger Anwendungen und Back-Ends abzielt.

Damit auch die Open-Source-Entwickler für die Windows-Plattform etwas von Qt4 haben, wird das Framework erstmalig auch unter Windows unter der GNU General Public License (GPL) zu haben sein. In dieser Variante fehlen allerdings einige Treiber für kommerzielle Datenbanken sowie die Integration der Qt-Design- und Entwicklungswerkzeuge in Visual Studio .NET 2003. Die GPL-lizenzierten Ausgaben sollen ansonsten vollkommen identisch zu den kommerziellen sein. Selbst der bei der Gestaltung grafischer Bedienoberflächen so hilfreiche Qt Designer ist in der GPL-Variante mit von der Partie.

Den Qt Designer hat Trolltech für Qt4 kräftig überarbeitet. Der Umweg über die ui.h-Dateien ist nicht mehr notwendig. Ergo: Wer mit Visual Studio entwickelt, nimmt dank der besseren Integration des Designer sämtliche Änderungen im Code direkt in der Entwicklungsumgebung vor -- mit allen Vorzügen wie Syntax-Hervorhebung und Code-Vervollständigung -- und muss nicht mehr zwischen Designer und Entwicklungsumgebung hin- und herspringen. Vorlagen für die am häufigsten verwendeten Qt-Applikationstypen runden das Angebot ab.

Nach Herstellerangaben ist Qt4 jetzt 64-Bit-sicher. Sowohl unter 64-Bit-Linux-Distributionen als auch unter 64-Bit-Windows soll es stabil laufen. Wer zum Übersetzen den Compiler des für den November angekündigten Visual Studio 2005 verwendet, muss hingegen mit ein paar Stolpersteinchen rechnen. Beim Sprung von 32 auf 64 Bit sei mit den "bei anderen Anwendungen üblichen Performance-Gewinnen" zu rechnen, betont Trolltech. Also: Von ein paar Prozent Minus bis zu einem hohen zweistelligen Prozent-Plus ist alles möglich. Qt4 soll sich nun auch mit dem Intel C++-Compiler 8.1 übersetzen lassen, und zwar sowohl unter Windows als auch unter Linux.

Qt4 bringt eine Reihe neuer Container-Klassen mit, etwa QList<T>, QLinkedList<T>, QVector<T>, QStack<T>, QQueue<T>, QSet<T>, QMap<Key, T>, QMultiMap<Key>, QHash<Key, T> oder QMultiHash<Key, T>. Dank Templates ist deren Verwendung typsicher, im Vergleich zu den Pendants aus der C++ Standard Template Library (STL) sollen sie sparsamer im Speicherverbrauch sein und flotter zur Sache gehen.

Auch bei der Thread-Programmierung hat sich einiges getan: Objekte sollen sich jetzt auch Thread-übergreifend austauschen können. Demnach funktionieren auch die in der GUI-Programmierung zum Zuge kommenden Signals und Slots nicht mehr nur innerhalb eines Thread. Event-Loops sind nun auch pro Thread möglich und nicht mehr nur pro Applikation.

Die Paint Engine "Arthur" ermöglicht über eine einheitliche Schnittstelle den Zugriff auf Plattformspezifika wie Mac OS X Quartz, die X11-Xlib oder das Windows-GDI. Anders als ihre Vorgänger kann sie mit Alpha-Kanälen, Gradient-Füllungen und Anti-Aliasing umgehen. Die Scribe getaufte Text Engine unterstützt zur optisch ansprechenderen Textdarstellung Ligaturen und Kerning, Text kann Kurven umfließen. Über das neue Interview genannte Model/View-Framework lassen sich große Datenbestände in verschiedenen Ansichten (etwa Tabellen, Listen oder Bäumen) aufbereiten. Änderungen an den Daten im Front-End hält Qt4 konsistent mit dem Datenbestand im Back-End.

Einen Überblick über die Neuerungen und Änderungen gibt Trolltechs What's New-Seite. Die Preise für Qt Console beginnen bei 1420 Euro und erhöhen sich mit der Anzahl der Plattformen (Windows, X11, Mac OS X), auf denen mit Qt entwickelt wird. Qt Desktop Light ist nach demselben Schema ab 1590 Euro zu haben, Qt Desktop ab 2360 Euro. Qt3-Lizenznehmer zahlen beim Umstieg auf Qt4 bis zum 1. September 2005 nur den Preis, der eh für die Verlängerung des Qt3-Support-Vertrags angefallen wäre.

Wer von Qt3 nach Qt4 umsteigt, muss damit rechnen, dass seine bestehenden Anwendungen ob der Aufräumarbeiten in der Klassenbibliothek nicht mehr laufen. Portierungswillige unterstützen die Norweger unter anderem mit einer Webseite, die sämtliche Unterschiede zwischen den Versionen beschreibt. Ein qt3to4 genanntes Portierungs-Tool soll dabei helfen, die Umstellung zu beschleunigen.

Registrierte Qt-Nutzer haben bereits per E-Mail die Mitteilung erhalten, dass Qt4 zum Download bereitsteht. Die ftp- und http-Transferaten sind entsprechend niedrig; zurzeit sind kaum mehr als 20 KByte/s drin. Die anderen müssen sich noch ein bisschen gedulden, bis Trolltech Binaries und Quellen der Öffentlichkeit zugänglich macht -- was aber den Ankündigungen zufolge im Laufe des heutigen Dientags geschehen wird.

Update:
Trolltech hat Qt4 nun offiziell von der Leine gelassen. Kommerziell orientierte Entwickler können sich nach vorheriger Registrierung eine 30-Tage-Demoversion herunterladen, für Open-Source-Programmier stehen separate Pakete bereit. (ola)