C++, Programowanie

Programowanie okienkowe – Biblioteka QT C++

Niewielu osobom nie zależy na umiejętności kodowania jedynie w konsoli. Każdy prędzej, czy później, po przyswojenia podstaw programowania w danym języku, chciałby przenieść swój program do okienek. Taki format jest m.in. bardziej przystępny dla osób spoza IT. Wygodny interfejs graficzny (GUI) wpływa na poprawę interakcji z użytkownikiem. Jest po prostu prostszy. Czysty C++ nie przewiduje możliwości tworzenia aplikacji okienkowych (abstrahuję od tego, czy warto pisać okienka w tym języku), dlatego programiści muszą w tym celu wybrać którąś z przeznaczonych do tego bibliotek. Technologią, którą polecam osobiście jest QT C++ wraz z QT Creator’em.

Czym właściwie jest QT?

QT jest multiplatformowym zestawem bibliotek, który umożliwia w dziecinnie prosty (no może przesadziłem) sposób tworzyć aplikację z wykorzystaniem wielu technologii. Oprócz C++ można z powodzeniem wykorzystywać takie języki programowania jak: Python, Java, Ruby, Perl, C#, PHP i wiele innych.

QT różni się od innych technologii używanych do tworzenia interfejsu, przede wszystkim prostotą. Wymogiem jaki przed swoimi użytkownikami stawia QT jest znajomość obiektowego podejścia do programowania (OOP). Bez tego ani rusz, ale przyznajcie sami, że nie jest to duża cena w zamian za możliwość szybkiego i bezstresowego tworzenia okienek. To moja opinia, ale uważam, że nie ma przyjemniejszego sposobu na tworzenie okienek w C++, niż właśnie QT, niemniej jednak, też ma swoje wady, o których później. Alternatywą dla QT C++ mogą być takie biblioteki jak WinAPI i jego uproszczona wersja, czyli MFC oraz VCL, ale o nich może kiedyś…

Ciekawym jest fakt, iż QT umożliwia tworzenie aplikacji mobilnych. Sam jak dotąd nie próbowałem tworzyć w QT niczego na urządzenia przenośne, ale jak najbardziej mam taki zamiar i swoją naukę w tym kierunku będę w pewien sposób relacjonował na blogu.

QT Creator

We wstępie wspomniałem o czymś takim jak QT Creator. Jest to bardzo wygodny, godny polecenia edytor umożliwiający tworzenie aplikacji bez napisania chociażby jednej linijki kodu samodzielnie. Nie podchodźcie jednak do tego w ten sposób, że skoro jest taka możliwość to będę miał w nosie całe te pisanie, bo można się na tym przejechać. Jak ktoś może powiedzieć, że zna stechnologię QT skoro boi się zajrzeć do kodu.

Mocne i słabe strony framework’a QT

Do zalet tej technologii należą:

  • Multiplatformowość – QT jest dostępne na wszystkich popularnych systemach,
  • Kontrola – pod warunkiem, że piszesz w C++ masz dużą kontrolę nad np. sposobem zarządzania pamięcią,
  • Możliwość pisania w wielu językach,
  • QT Creator,
  • Możliwość tworzenia aplikacji mobilnych,
  • Wiele różnych licencji – wykorzystując darmową wersję QT możemy nawet tworzyć projekty komercyjne,
  • Prostota – stworzenie prototypu aplikacji nie powinno zająć Ci wiele czasu,
  • Społeczność, materiały, dokumentacje – wokół QT zebrało się sporo ludzi, wielu w tym tworzy dlatego nie brakuje materiałów do nauki i ludzi chętnych do pomocy przy rozwiązywaniu problemów.

To wszystkie zalety QT jakie w tym momencie mogę sobie przypomnieć i sformułować. Jednak nigdy nie jest tak, że są same zalety. QT również ma swoje wady. Oto one:

  • Miejsce na dysku – QT sam w sobie zawiera bardzo dużo miejsca i o ile może to być uciążliwe dla programisty-indywidualisty to dla przedsiębiorstwa/studia już niekoniecznie. Jeśli chcą wykorzystywać QT to trzeba się pogodzić z tym, że jest trochę przysadzisty.
  • Instalacja i konfiguracja – wdrażanie QT może być momentami problemowe i frustrujące. Często pojawiają się kłopoty z kompilatorami, sterownikami, ale na szczęście są to chwilowe problemy.

Przykładowy program z wykorzystaniem QT C++

Pisaniem tutoriali na temat tworzenia w QT C++ nie mam zamiaru. Na ten temat powstało już naprawdę wiele materiałów, a te najlepsze są oczywiście anglojęzyczne. Jeśli chodzi o pomoce w naszym języku to z czystym sumieniem mogę polecić człowieka z bloga The Dead Programmer. Autor tego bloga w przystępny sposób wprowadza nas w tajniki QT.

Pokażę wam za to jak wygląda jeden z moich pierwszych programów utworzonych z wykorzystaniem tej technologii. Jest to praktycznie kopia systemowego kalkulatora podstawowego z zachowaniem jego funkcjonalności, ale takie rzeczy jak na przykład pierwiastek z liczby oblicza wykorzystując  opisane przeze mnie algorytmy.

QT C++

Link do GitHuba.

Dodaj komentarz