Qt Tutorial #1: Wstęp - kilka słów o bibliotece Qt.Tytuł mówi wszystko – na blogu będą się pojawiać wpisy z serii Qt Tutorial. Chciałbym w ten sposób oddzielić i skategoryzować wpisy dotyczące biblioteki Qt, które nie są newsami na temat biblioteki, a raczej krótkimi poradnikami (przeważnie z załączonym i opisanym kodem źródłowym). Plan jest taki, żeby złożyło się to w swojego rodzaju kurs dotyczący frameworka – zobaczymy, jak to będzie wyglądać za jakiś czas. W każdym, razie plan jest taki, żeby zacząć od podstawowych tematów. Dziś zaczynamy od kilku słów na temat frameworka Qt.

Podstawy.

Po pierwsze – Qt nie jest językiem programowania 🙂 Qt jest wieloplatformowym frameworkiem, napisanym w języku C++ i posiadającym w pełni obiektową architekturę. Sama biblioteka jest podzielona na moduły, realizujące poszczególne funkcjonalności, wspierane przez Qt. Są to m. in. moduły odpowiedzialne za obsługę: graficznego interfejsu użytkownika, 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. Modułami biblioteki zajmiemy się szerzej w jednym z kolejnych wpisów.

Wieloplatformowość.

Jak już wspomniałem, Qt wspiera wiele platform – zarówno programowych, jak i sprzętowych. Te najważniejsze to: Linux/Unix (X11, Wayland, Embedded Linux, Android), Windows (XP, 7, 8, 10, CE, RT), Apple (OS X, iOS) i inne (QNX, VxWorks). Możemy zatem pisać jeden kod, który może być później uruchamiany na wielu platformach – to jedna z największych zalet Qt.

Zintegrowane, specjalistyczne narzędzia.

Razem z biblioteką Qt dostajemy zestaw niezbędnych narzędzi, które bardzo ułatwiają nam pracę. Są to m. in. :

  • Qt Creator – zintegrowane środowisko programistyczne.
  • Qt Designer – aplikacja graficzna do definiowania graficznego interfejsu użytkownika (okien dialogowych itp.),
  • UIC (User Interface Compiler) – kompilator plików *.ui zwykle generowanych za pośrednictwem programu Qt Designer,
  • MOC (Meta Object Compiler) – specjalny preprocesor, który na podstawie plików nagłówkowych (*.h) generuje dodatkowe pliki źródłowe (*.cpp),
  • 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 Assistant – aplikacja zawierająca rozbudowany system pomocy dla programistów,
  • Qt Linguist – aplikacja wspomagająca tłumaczenie programu na różne języki,

Oczywiście na początku może się to wydawać skomplikowane, jednak większość tych narzędzi jest zintegrowana z Qt Creator’em i systemem budowania. Oznacza to, że nie będziemy musieli wykonywać żadnych dodatkowych czynności, żeby uruchamiać wspomniane programy. Framework zrobi to za nas w odpowiednim czasie. Opis narzędzi znajdzie się w jednym z kolejnych wspisów z cyklu Qt Tutorial.

Od czego zacząć ?

Framework możemy pobrać ze strony https://www.qt.io/download-open-source/. Po wejściu witryna powinna nam zasugerować wersję na platformę, na której się obecnie znajdujemy. Można też klinkąć w link View All Downloads i wybrać wersję z listy. Generalnie możemy pobrać dwie wersje instalatora – offline oraz online. Wersja offline umożliwi nam późniejszą instalację biblioteki bez dostępu do internetu. Wersja online instalatora waży niewiele, ponieważ pobiera wymagane pliki podczas instalacji.

Za pomocą podanego linku pobierzemy bibliotekę w wersji open source. W tej wersji możemy wykorzystać licencję GPL lub LGPL (która umożliwia nam tworzenie komercyjnych aplikacji bez publikowania kodu źródłowego). Oczywiście możemy się też zdecydować na licencję komercyjną, ale w moich tekstach skupiam się na wykorzystywaniu frameworka Qt w wersji open source, na licencji LGPL.

Drugim przydatnym adresem jest http://doc.qt.io/. Znajduje się pod nim dokumentacja Qt. Moim zdaniem jest to jedna z najlepszych dokumentacji tego typu produktów. Znajdziemy tam dokumentację wszystkich modułów i klas biblioteki, artykuły dotyczące podstawowych koncepcji w programowaniu oraz tutoriale i przykłady użycia biblioteki. Wszystko oczywiście w języku angielskim.

Podsumowanie.

Nie da się ogarnąć wszytskich tematów w jednym wpisie. Mam nadzieję, że dałem Użytkownikowi ogólny pogląd na temat tego, czym jest i co oferuje Qt. W kolejnych wpisach będziemy stopniowo, coraz lepiej poznawać całe środowisko. Żeby jednak uzmysłowić, jak rozbudowaną, profesjonalną i docenianą biblioteką się zainteresowaliśmy, poniżej znajduje się lista kilkunastu firm, które korzystają z frameworka Qt bardzo intensywnie (mam nadzieję, że podziała na wyobraźnię):

  • AMD
  • Europejska Agencja Kosmiczna
  • Volvo
  • Siemens
  • Walt Disney
  • LucasFilm
  • Panasonic
  • Valve
  • Intel
  • BlackBerry
  • LG Electronics
  • Google
  • Tesla
  • Autodesk
  • Spotify