aplikacje okienkowe c++ qt

Instalacja Qt i pierwszy program – Kurs Qt #1

W poprzednim wpisie poruszyliśmy temat „Czym jest Qt?”, więc teraz powinieneś już wiedzieć w jakich celach możesz ten framework wykorzystać. W tej części kursu powiemy sobie jak wygląda instalacja Qt oraz jak wygląda szablonowy program utworzony przy jego użyciu.

Zanim zaczniesz

W ramach tego kursu Qt w pierwszej kolejności skupiamy się na tworzeniu interfejsu graficznego korzystając właśnie z tej technologii. Następnie to czytelnicy będą mogli zdecydować, w którą stronę pójdzie kurs. Dołożę wszelkich starań, aby nowe wpisy ukazywały się co czwartek. Jeżeli ten wpis jest pierwszym z tego kursu na jaki trafiasz to sugeruję, abyś zajrzał również do poprzednich. Miłej lektury!

Instalacja Qt

Framework Qt dostępny jest na wszystkich popularnych platform, zatem możemy się nim cieszyć na systemach Windows, Linux czy Mac OS X. Instalacja Qt może być również przeprowadzona na systemie Linux dla urządzeń wbudowanych. W poprzednim wpisie możesz przeczytać jak wygląda kwestia licencji Qt, kiedy możesz korzystać z darmowej licencji i kiedy powinieneś posiadać licencję komercyjną.

Instalacja Qt przeprowadzona może być na kilka sposobów. Możemy skorzystać z instalatora, bądź też własnoręcznie skompilować framework z dostępnych źródeł. Myślę, że najprostszym rozwiązaniem jest ściągnięcie instalatora z oficjalnej strony Qt. Oprócz niego mamy również dostęp do instalatora offline zawierającego całość frameworka wraz ze wszystkimi modułami dostępnymi  na docelowej platformie. Niemniej instalator online pozwala na instalację bardziej dopasowaną do naszych potrzeb, aby uniknąć instalacji niepotrzebnych modułów.

Instalacja Qt z instalatora

Na oficjalnym kanale YouTube technologii znajdziemy film przedstawiający instalację z wykorzystaniem instalatora. Na nagraniu pokazano instalację dla systemu Linux. Jednakże w przypadku wykorzystania instalatora proces ten nie różni się niczym od instalacji na Windowsie.  

Instalacja Qt

Uwaga:
Podczas instalacji frameworka zwróć uwagę, aby nie instalować go pod ścieżką zawierającą białe znaki lub polskie litery. Błędna ścieżka Qt oraz błędna ścieżka projektów budowanych przy jego użyciu może powodować błędy przy próbach kompilacji lub uruchomienia projektu.

C:/Users/Łukasz/Qt – źle;

C:/Program Files/Qt – średnio;

C:/Qt – dobrze;

Wybór komponentów

Podczas instalacji będziemy mieć możliwość wyboru wersji Qt komponentów, które chcemy zainstalować. Najbezpieczniej jest wybrać wersję Qt z kategorii LTS, ponieważ są one bardziej stabilne niż najnowsze wydania. Niemniej wybierając „Latest releases” i odświeżając listę będziemy mieli dostęp do listy najnowszych wersji frameworka.
Rozwijając listę przy danej wersji Qt możemy wybrać kompilatory i dodatkowe moduły. Na ten moment sugeruję wybrać tylko jeden kompilator, np. MinGW. W sytuacji, gdy uznamy, że nam czegoś brakuje możemy skorzystać z Qt Maintenance Tool udostępnianego przez Qt. Umożliwia ono aktualizację, dodanie lub usunięcie komponentów.

Instalacja Qt - wybór komponentów
Instalacja Qt – wybór komponentów

Instalacja Qt dla innych środowisk

Możliwe jest programowanie w Qt z innym zestawem narzędzi i z innym IDE niż Qt Creator. Na ten moment nie będę porównywał różnych podejść, ale chciałem zasygnalizować, że jest tak możliwość, aby programować w Qt w Visual Studio lub korzystając z edytora Atom. Dla ciekawskich zamieszczam link do wpisu porównującego Qt Creator z Visual Studio Code.

Pierwszy program w Qt

Naszym pierwszym programem stworzonym z wykorzystaniem Qt będzie prosta aplikacja konsolowa, wyświetlająca obecną datę w opracowanym przez nas formacie. Zobaczysz jak wygląda struktura typowego projektu w Qt. Na ten moment pozostaniemy przy aplikacji konsolowej żeby przypadkiem nie przeładować was mnogością informacji, a aplikację z GUI utworzymy w jednym z następnych wpisów.

Szablonowa aplikacja konsolowa z Qt Creator

Qt Creator jest domyślnym IDE do tworzenia aplikacji w środowisku Qt. Ma swoje wady, ale jednocześnie nieporównywalnie więcej zalet. Temat tego IDE pogłębimy sobie przy innej okazji.
Tak wygląda okno Qt Creatora zaraz po otwarciu:

Qt Creator
Qt Creator

Mamy między innymi listę projektów nad, którymi pracowaliśmy ostatnio. Aby stworzyć nowy projekt możemy kliknąć na przycisk „+ New” powyżej listy ostatnio otwartych projektów lub w górnym menu wybrać File->New File or Project.

Wybór szablonu aplikacji
Qt Creator – wybór szablonu aplikacji

W uruchomionym w ten sposób kreatorze mamy możliwość wyboru interesującego nas szablonu. W tym miejscu możemy wybrać spośród różnych kategorii projektów, ale nas interesuje kategoria Application zawierająca szablony aplikacji Qt. Na potrzeby tego kursu wybieramy Qt Console Application.

Ustalenie lokalizacji projektu
Qt Creator – ustalenie lokalizacji projektu

W następnym kroku mamy możliwość ustalenia nazwy projektu i jego lokalizacji na dysku. Jak już wspominaliśmy, zadbaj o to, aby ścieżka pozbawiona była białych znaków i polskich liter.

Wybór systemu zarządzania projektem
Qt Creator – wybór systemu zarządzania projektem

W kolejnym kroku wybieramy system do zarządzania projektu. Domyślnie jest to qmake, czyli narzędzie zarządzające kompilacją i budowaniem projektu wraz z bibliotekami i innymi kompilatorami. Narzędzie rozwijane jest przez twórców Qt. Alternatywami są CMake oraz Qbs, ale my pozostaniemy przy qmake.

Po przejściu dalej mamy możliwość zdefiniowania języka na potrzeby tłumaczenia aplikacji, ale ten krok na razie pominiemy, bo nie ma żadnego znaczenia na obecnym etapie tego kursu.

Instalacja Qt - zestawy narzędzi
Qt Creator – wybór zestawu narzędzi

W kolejnym kroku wybieramy zestaw narzędzi (między innymi kompilator), który chcemy wykorzystać w ramach tego projektu. W zależności od przeznaczenia aplikacji i docelowej platformy ta konfiguracja wyglądać będzie różnie, ale na ten moment zostaniemy przy zestawie Desktop z kompilatorem MinGW. Gdybyśmy potrzebowali zbudować aplikację na np. Androida to wówczas powinniśmy uruchomić wspomniany program Qt Maintenace Tool i doinstalować brakujący zestaw. Program ten znajdziesz w folderze z zainstalowanym frameworkiem.

Podsumowanie projektu
Qt Creator – posumowanie projektu

Na samym końcu mamy możliwość wyboru systemu kontroli wersji oraz zdefiniowania tworzonego projektu jako część innego. Po kliknięciu przycisku Finish, Qt Creator wygeneruje nam projekt z wybranego szablonu.

Zawartość pierwszego projektu

W folderze utworzonego w ten sposób projektu utworzone zostaną trzy pliki:

  • FirstQtConsoleApp.pro;
  • FirstQtConsoleApp.pro.user;
  • main.cpp;

Plik z rozszerzeniem .pro

Pierwszy z nich jest plikiem zawierającym opis struktury projektu dla narzędzia qmake. Jego przykładowa zawartość wygląda następująco:

Do bardziej interesujących zmiennych w tym pliku należą:

  • QT – określa moduły Qt użyte w projekcie. Aplikacja jest konsolowa, więc od domyślnych modułów odejmujemy zbędny moduł gui;
  • CONFIG – określa konfigurację projektu i opcje kompilatora;
  • SOURCES – zawiera listę plików źródłowych wchodzących w skład projektu;
  • HEADERS – zawiera listę plików nagłówkowych wchodzących w skład projektu. Na ten moment nie mamy żadnego pliku .h w projekcie dlatego taka zmienna jest zbędna;

Oczywiście zmiennych jest cała masa, więc temat qmake poruszymy w oddzielnym wpisie. Jeżeli jesteś ciekaw możesz zawsze zajrzeć do dokumentacji.

Plik z rozszerzeniem .pro.user

Plik zawierający lokalną konfigurację projektu, czyli na przykład wybrane zestawy narzędzi, czy ustawione zmienne środowiskowe. Plik ten nie powinien był współdzielony w ramach pracy kilku osób, więc jeżeli rozwijasz projekt w oparciu o Gita to sugeruję dodanie tego pliku to .gitignore.

Plik main.cpp

Chyba nie muszę tłumaczyć jakie zadanie spełnia plik main.cpp w projekcie rozwijanym w języku C++ 🙂 Z pewnością zauważyłeś, że plik dodany jest do zmiennej SOURCES w pliku FirstQtConsoleApp.pro. Jest to niezbędne, aby był on częścią projektu. Do domyślnej zawartości pliku dodałem dyrektywę include załączającą QDebug oraz funkcję qDebug() wykorzystaną do wyświetlenia sztampowego Hello Worlda. W tym celu wykorzystujemy funkcję qDebug() działającą w sposób podobny do std::cout:

Jak sam widzisz funkcja main wygląda dość zwyczajnie. Korzystamy tutaj jedynie z obiektu klasy QCoreApplication, który dostarcza obsługę pętli zdarzeń w aplikacji.

Edycja pierwszego projektu

Na ten moment chcę, aby pierwsza aplikacja pozostała nieskomplikowana, więc nasz pierwszy program zamknie się w funkcji main(). Tak jak zakładaliśmy wypiszemy obecny czas w założonym formacie, a oprócz tego zmienimy lokalny system do konwersji liczb i tekstu z domyślnego (u mnie angielski) na język niemiecki.

Jak widzisz załączyliśmy klasę QDate zawierającą statyczną metodą QDate::currentDate() zwracającą obiekt tego samego typu z aktualną datą.
Pobraną w ten sposób obecną datę możemy wyświetlić bez konwersji na Stringa oraz z konwersją na Stringa. Więcej o klasie QDate przeczytasz w dokumentacji Qt.

Podsumowanie

Cieszę się, że dobrnąłeś do końca tego wpisu. Na ten moment powinieneś wiedzieć jak przebiega instalacja Qt oraz jak stworzyć swój pierwszy projekt z wykorzystaniem technologii Qt. Jeżeli masz jakieś sugestie to proszę podziel się w komentarzach i zapraszam do polubienia profilu binarnie.pl na FB.

You Might Also Like
Dodaj komentarz