Qt
Rodzaj biblioteki programistyczne
Pierwsze wydanie 1995
Aktualna wersja stabilna 4.4.3 / 28 września 2008; 85 dni temu
Producent Qt Software
Licencja GPL, QPL, komercyjna, edukacyjna
Platforma systemowa GNU/Linux, BSD, Solaris, Unix, Mac OS X, MS Windows
Strona domowa Qt
Screenshot

Qt - 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.

Producentem Qt jest norweska firma Qt Software, a właścicielem - fińska Nokia (od stycznia 2008).

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 technologii:

  • Tulip - Zestaw szablonów klas pojemników (m.in. QList, QLinkedList, QVector, QStack, QQueue, QMap, QMultiMap, QHash, QMultiHash i QSet).
  • 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. Dnia 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

Po polsku