Buchkritik: Practical Qt

Titel: Practical Qt – Real World Solutions to Real World Problems
Autor: Matthias K. Dalheimer, Jesper Pedersen et al.
Erscheinungsjahr: 2004
Sprache: Englisch
Verlag: dpunkt.verlag
Seitenzahl: ca. 250
Preis: 36,00 € (Amazon)
ISBN-10: 3-89864-280-1
ISBN-13: 978-3898642804

Nach “Programming with Qt” (O’Reilly, 1999) stellt Matthias Kalle Dalheimer (President & CEO von Klarälvdalens Datakonsult AB, Gründungsmitglied von KDE) ein Buch vor, welches sich weniger mit der Theorie hinter Trolltechs Qt beschäftigt, sondern konkrete Probleme angeht und Lösungen aufzeigt. Mit im Boot sitzen Jesper K. Pedersen (KDE-Entwickler) und Dalheimers Kollegen bei Klarälvdalens Datakonsult AB, einem der größten unabhängigen Anbieter von Schulungen und Consulting rund um Qt.

Die Aufteilung ist einfach: Jedes Kapitel beschäftigt sich mit einem klar abgesteckten Bereich (z.B. Grafik, Netzwerk etc.) oder sogar einer konkreten Qt-Klasse (z.B. QSlider). In Form von “Rezepten” werden Best-Practice-Lösungen für ein einzelnes Problem aufgezeigt, etwa wie man Zellen in einer Tabelle farbig hinterlegt, runde Widgets zeichnet oder Zeile für Zeile Text von einem TCP-Socket liest. Ganz ohne Theorie geht es natürlich nicht, im Gegenteil, manche Lösungen setzen fundierte Kentnisse der von Qt verwendeten Konzepte voraus.

Die Rezepte basieren auf Fragen, welche bei Qt-Schulungen rund um den Erdball immer wieder gestellt wurden, entsprechend variiert der Schwierigkeitsgrad, von der simplen Abfrage der aktuellen Bildschirmauflösung bis zu Spielereien mit Threads und Signalen/Slots ist alles dabei. Leider ist die Auswahl durchwachsen und die Qualitätschwnkt: 83 Rezepte auf 250 Seiten (abzüglich Index), recht großer Schriftgrad und dazwischen noch Illustrationen. Durch die Aufteilung in Kapitel und nicht optimal gesetzte Seitenumbrüche/Abstände wird der Platz nicht immer optimal ausgenutzt, der Kern des Werks ließe sich vielleicht auch auf 200 Seiten unterbringen. Da Qt 4 erst Mitte 2005 freigegeben wurde, berücksichtigen die Rezepte nur Qt 3.x – an manchen Stellen wird man aber, soweit dies den Autoren bereits bekannt war, auf Entwicklungen in Qt 4 hingewiesen, etwa wenn eine Lösung dort stark vereinfacht wird. Dies verdankt der Leser dem direkten Draht zwischen Klarälvdalens und Trolltech.

Jedes Rezept besteht aus einem Text mit der Problembeschreibung und einem Listing des zugehörigen Quellcodes. Hier steckt der Teufel im Detail: einerseits sind die Listings sehr ausführlich, so werden z.B. alle Header-Includes penibel aufgelistet, andererseits finden sich immer wieder Tippfehler oder Unstimmigkeiten zwischen Text und Listing (falsche Zeilennummern etc.). Aber auch die Auswahl der Rezepte ist von schwankender Qualität. Auf so manche Lösung wäre der Qt-kundige Entwickler sicher auch selbst gekommen, andere findet man schneller über eine Suchmaschine oder direkt in der Qt-Dokumentation. Genau auf diese Quellen verweist das Buch auch immer wieder. Die komplexeren Lösungen treffen wiederum vielleicht gar nicht mehr das eigene Problem.

Die schnelllebige IT-Branche erweist sich wieder ein Mal als Fluch für gedruckte Nachschlagewerke: Seit dem Erscheinen des Buches sind drei Jahre und eine ganze Reihe neuer Qt-Versionen ins Land gegangen, wie erwähnt wurde Mitte 2005 sogar ein kompletter Versionswechsel vollzogen. “Practical Qt” liegt aber immer noch für relativ viel Geld in den Regalen, wer die “regulären” 36 € nicht bezahlen will, kommt über einschlägige Angebote auch an ein Exemplar für unter 20 €. Generell rate ich aber vom Kauf ab – wer ein konkretes Problem lösen muss, wird im Netz schneller fündig, als “Bettlektüre” taugt die (kostenlose) Qt4-Dokumentation sehr viel besser. Und wer einfach nur nach Best-Practice-Vorschlägen sucht, wird beim KDE-Projekt fündig.