Qt
Z Wikipedii
Qt | |
Rodzaj | biblioteki programistyczne |
Pierwsze wydanie | 1995 |
Aktualna wersja stabilna | 4.4 / 6 maja 2008 |
Producent | Trolltech |
Licencja | GPL, QPL, komercyjna, edukacyjna |
Platforma systemowa | GNU/Linux, BSD, Solaris, UNIX, Mac OS X, MS Windows |
Strona domowa Qt |
Qt to zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języka C++. Ich podstawowym składnikiem są klasy służące do budowy graficznego interfejsu programów komputerowych, aczkolwiek począwszy od wersji 4.0 Qt zawiera też narzędzia do tworzenia programów konsolowych i serwerów. Właścicielem Qt jest norweska firma Trolltech.
Spis treści |
[edytuj] Charakterystyka środowiska Qt
Środowisko Qt jest dostępne dla platform: X11 (m.in. GNU/Linux, *BSD, Solaris), Windows, Mac OS X oraz dla tzw. urządzeń wbudowanych (ang. embedded) opartych na Linuksie. Qt jest podstawą dla m.in. uniksowego środowiska graficznego KDE, przeglądarki internetowej Opera oraz programów Google Earth i Skype.
Biblioteki Qt zostały napisane w języku C++ i charakteryzują się w pełni obiektową architekturą. Zawierają wiele tzw. nowoczesnych technologii programowania graficznego interfejsu użytkownika, istniejących wcześniej jedynie w Tk: mechanizm sygnałów i slotów, automatyczne rozmieszczanie widżetów oraz zhierarchizowany system obsługi zdarzeń.
Biblioteki Qt, oprócz obsługi interfejsu użytkownika, zawierają także niezależne od platformy systemowej moduły obsługi procesów, plików, sieci, grafiki trójwymiarowej (OpenGL), baz danych (SQL), języka XML, lokalizacji, wielowątkowości, zaawansowanej obsługi napisów oraz wtyczek. Zawierają także własne, niezależne od STLa szablony klas pojemników.
W skład Qt wchodzi wiele specjalistycznych narzędzi programistycznych. Są to m.in.:
- moc (Meta Object Compiler) - specjalny preprocesor, który na podstawie plików nagłówkowych (*.h) generuje dodatkowe pliki źródłowe (*.cpp),
- uic (User Interface Compiler) - kompilator plików *.ui zwykle generowanych za pośrednictwem programu Qt Designer,
- qmake - program do zarządzania procesem kompilacji; jego głównym zadaniem jest utworzenie, a później aktualizacja pliku
Makefile
na podstawie prostego opisu zawartego w definicji projektu (*.pro
), - Qt Designer - aplikacja graficzna do definiowania graficznego interfejsu użytkownika (okien dialogowych itp.),
- Qt Linguist - aplikacja wspomagająca tłumaczenie programu na różne języki,
- Qt Assistant - aplikacja zawierająca rozbudowany system pomocy dla programistów.
Aby zachęcić twórców wolnego oprogramowania do korzystania ze środowiska Qt, firma Trolltech udostępniła je na wolnej licencji QPL, która była jednak uważana za niezgodną z GPL, co stało się bezpośrednią przyczyną rozpoczęcia prac nad projektem GNOME. Od opublikowanej w 2000 roku wersji 2.2, Qt dla platform GNU/Linux/Unix jest rozpowszechniana także na licencji GPL. Obecnie dostępnych jest kilka rodzajów licencji - komercyjna, GPL, QPL oraz edukacyjna. Od 2004 roku licencja GPL obejmuje także platformę Mac OS X, a od 2005 r. (od wersji 4.0.0) - także Microsoft Windows.
[edytuj] Bieżąca wersja środowiska Qt
Premiera pierwszej wersji Qt 4 odbyła się 28 czerwca 2005 r. W porównaniu z wersją Qt 3, zawiera ona sześć nowych technologi:
- Tulip - Zestaw szablonów klas pojemników (m.in.
QList
,QLinkedList
,QVector
,QStack
,QQueue
,QMap
,QMultiMap
,QHash
,QMultiHash
iQSet
). - Interview - Zestaw klas ułatwiających pisanie kodu zgodnie z paradygmatem model-widok-kontroler.
- Arthur - Zestaw klas do grafiki dwuwymiarowej.
- Scribe - Zestaw klas do pozycjonowania i wyświetlania tekstu.
- MainWindow - Zestaw klas zawierających elementy niezbędne do tworzenia nowoczesnych okien głównych aplikacji (w tym aplikacji typu MDI) z menu, paskami narzędziowymi, skrótami klawiaturowymi, paskiem stanu itp.
- Zupełnie nowa architektura programu Qt Designer.
[edytuj] Wersje Qt 4
- Qt 4.1 (19 grudnia 2005). Wprowadzono m.in obsługę formatów SVG (rysunki i animacje) i PDF (drukowanie) oraz umożliwiono stosowanie półprzezroczystych okien potomnych na wszystkich platformach.
- Qt 4.2 (4 października 2006). Wprowadzono m.in. moduł Graphics View (definiujący scenę, na której można efektywnie wyświetlać i manipulować tysiącami własnych obiektów graficznych), umożliwiono kontrolowanie wyglądu widgetów przy pomocy arkuszy stylów (wzorowanych na CSS), wprowadzono ułatwienia przy implementacji operacji undo ("cofnij") i uzupełniania kodu (code completion).
- Qt 4.3 (30 maja 2007). Zwiększono zgodność z systemem Vista, ulepszono obsługę standardów OpenGL (uwzględnienie nowych możliwości nowoczesnych kart graficznych) i SVG, włączono moduł QtScript obsługujący język skryptowy zgodny ze standardem ECMAScript, wprowadzono obsługę protokołów SSL i HTTPS.
- Qt 4.4. (6 maja 2008). Integracja z silnikiem WebKit (przeglądarka WWW), integracja z biblioteką Phonon (multimedia), wsparcie dla platformy Windows CE, wsparcie dla standardu XQuery 1.0 i XPath 2.0 (język XML), nowy, uproszczony moduł dla aplikacji wielowątkowych, zmodyfikowany system pomocy, integracja standardowych widżetów z modułem Graphics View.
[edytuj] Kompatybilność Qt 4 oraz Qt 3
Wersje Qt 4.x są niekompatybilne z wersjami Qt 3.x - zarówno na poziomie kodów źródłowych, jak i kodów wykonywalnych. Migrację małych projektów z Qt 3 do Qt 4 zapewnia aplikacja qt3to4
, jednak przeniesienie ogromnych aplikacji, jak np. KDE, może wymagać lat pracy. Wynika stąd pewne zamieszanie: typowy komputer z zainstalowanym systemem operacyjnym Linux lub BSD standardowo zawiera "stare" biblioteki Qt 3 i programy wspomagające tworzenie aplikacji w Qt 3; może też jednocześnie zawierać środowisko Qt 4 i aplikacje dostosowane do tworzenia programów w Qt 4. W tym wypadku, ze względu na brak zgodności obu środowisk, należy bezwzględnie sprawdzać wersję każdego programu używanego do tworzenia kodu w Qt.
Oficjalną datą zakończenia wspierania Qt 3 przez producenta jest 1 lipca 2007 r. 11 stycznia 2008 r. wydano stabilną wersję KDE 4, opartą na Qt 4. Wraz z tą datą należy spodziewać się szybkiej migracji lub zaprzestania rozwoju aplikacji tworzonych w Qt 3 oraz pojawienia się zupełnie nowych programów opartych na Qt 4.
[edytuj] Zobacz też
[edytuj] Linki zewnętrzne
Po angielsku
- Strona firmy Trolltech
- Szczegółowa dokumentacja
- Strona społeczności i forum dyskusyjne
- Qt4 tutorial for absolute beginners
- C++ GUI Programming with Qt 3 (PDF)
Po polsku