|
- Matthias Kalle Dalheimer-"Programming with Qt", O'Reilly, ISBN 1-56592-588-2, str.364, cena ok.130 zł
- Burkhard Lehner-"KDE-und Qt-Programmierung", Addison-Wesley, ISBN 3-8273-1477-1, str.564, CD z przykładami, cena ok.180 zł
W drugiej połowie tego roku (sierpień i październik 1999 r.) ukazały się dwie książki, bardzo ważne
dla tych, którzy są zainteresowani pisaniem programów w języku C++ przy wykorzystaniu biblioteki Qt
norweskiej firmy Troll Tech. Biblioteka Qt jest powszechnie uważana za najlepszą biblioteką GUI
oferowaną obecnie dla systemów uniksowych. Qt jest nie tylko zbiorem nowocześnie wyglądających
elementów graficznych takich jak przyciski, suwaki, okienka dialogowe itp. lecz również kompletnym
systemem programowania. Qt jest wyposażona w znakomitą dokumentację (html) co w połączeniu z
powyższymi książkami powinno znakomicie wspomóc pisanie programów. Oczywiście nabywcy komercyjnych
wersji Qt mogą liczyć na wsparcie techniczne ze strony f-y Troll Tech.
W zasadzie ocena podsumuwująca powinna być umieszczona na końcu lecz dla tych osób, które nie mają
ani ochoty ani czasu tej recenzji czytać chciałbym przedstawić tutaj moją opinię: książkę, która
zdecydowanie polecam jest "KDE-und Qt-Programmierung" autorstwa Burkhard Lehner (uzasadnienie
podaję poniżej). Stawiam ją znacznie wyżej niż książkę Dalheimera "Programming with Qt".
W tytule książki Lehnera podano, na pierwszym miejscu, że jest to książka o pisaniu programów w KDE.
Jest to tytuł, który może zmylić bo zasadniczą treścią tej ksiażki jest pisanie programów przy pomocy Qt.
KDE jest tutaj tylko cennym i miłym dodatkiem. Po tę książkę mogą sięgnąć śmiało programiści,
którzy chcą pisać programy po W95 czy Windows NT. Dla osób, które znają język angielski i niemiecki
wybór jest oczywisty (patrz wyżej). Natomiast tym, którzy znają tylko angielski chciałbym powiedzieć,
że książka Dalheimera nie jest zła. Książka ta opisuje (nie tak szczegółowo jak książka Lehnera)
w miarę wszystkie aspekty Qt. Np: zaletą tej książki jest przejrzysty styl jaki użyto do napisania
przedstawionych w niej przykładów. Na okładce "Programming with Qt" umieszczono napis
"Covers Qt 1.4x and 2.0". Jest to nieprawda bo książka nie opisuje Qt w wersji 2.0. Wersja Qt 2.0
jest natomiast tematem książki Lehnera. Z tym, że w tych miejscach gdzie pojawiają się różnice w
stosunku do Qt 1.4x Lehner stara się je przedstawić. Wynika to z tego, że Dalheimer pisanie swojej
książki skończył w lutym 1999 r. natomiast Lehner w sierpniu 1999r.
Uzasadnienie :
Na pierwszy rzut oka solidniejsze wrażenie sprawia książka "KDE-und Qt-Programmierung".
Jest to książka oprawiona w grubą sztywną okładkę, której kartki są zszywane. Książka
"Programming with Qt" wizualnie nie sprawia tak dobrego wrażenia. Niestety jej kartki są klejone.
Jeżeli chodzi o zawartość merytoryczną. Obydwie książki starają się przedstawić wszystkie
charakterystyczne cechy Qt, jednakże przy każdym opisie tych cech za każdym razem Lehner
przedstawia je znacznie szczegółowiej z uwzględnieniem różnych niuansów, jednocześnie bogato
je ilustrując przykładami. W obu książkach ważne zagadnienia zakończone są ćwiczeniami.
I znów, Lehner proponuje ćwiczenia, które rozpoczynają się od prostych i stopniowo stają
się bardziej skomplikowane. Ćwiczenia te są uzupełnianie licznymi ilustracjami.
Sposób budowania ćwiczeń i ich duża liczba odróżnia książkę Lehnera, na plus, od książki
Dalheimera.
Chciałbym tutaj ocenić te grupy tematów, które dla mnie były ważne i interesujące.
Pierwszym ciekawym zagadnieniem jest sposób zarządzania rozmieszczaniem widgetów w okienkach
dialogowych za pomocą specjalnych klas. Dalheimer opisał to ale potraktował ten temat dość
powierzchownie. Natomiast Lehner przedstawił je szczegółowo. Zaczyna od opisu prostej metody
rozmieszczania widgetów za pomocą stałych współrzędnych poprzez metody pośrednie aż do sposobu
wykorzystania klasy QLayout i pochodnych. Przedstawił sposób krokowej budowy okienka dialogowego
ilustrując to, jak zwykle, licznymi przykładami i zdjęciami i jednocześnie starając się
zwrócić uwagę czytelnika na newralgiczne miejsca jakie powstają w trakcie projektowania okienek.
Drugim bardzo ważnym zagadnieniem to kolory w Qt. Jest to znów opisane znacznie wnikliwiej u
Lehnera. Dużą część tego tematu stanowi rysowanie prymitywów oraz transformacje obrazów.
Oddzielne rozdziały poświęcono nie tylko klasie QPainter ale i tym klasom, na których możemy
rysować. Umieszczono specjalny rozdział, w którym rozważa się efektywność urządzeń, na których
się rysuje. Dalheimer, mimo że sam uważa klasę QPainter za silną stronę Qt, nie poświęca jej
zbyt wiele uwagi. I znów, Lehner wzbogaca to zagadnienie licznymi ilustracjami, przykładami i
ćwiczeniami.
Projektowanie własnych widgetów to następne ważne zagadnienie. No cóż, chcesz się nauczyć
je projektować to weź sobie za przewodnika Lehnera. Podał kolejność postępowania przy projektowaniu
widgetu a póżniej oddzielnie opisał zdarzenia "nisko-pozimowe" (ang.low-level) czyli te wszystkie
wirtualne funkcje, które odpowiedzialne za obsługę zdarzeń generowanuch przez klawiaturę i mysz.
Dalheimer nie opisał ich tak szczegółowo ale cenne są jego przykłady ilustrujące budowanie własnego
widgetu. Książka "KDE-und Qt-Programmierung" jest zakończona krótkim opisem klas KDE i Qt.
Autor : Jerzy Skalski
Data 22.06.2000
[ DO GÓRY]
|
|