Logo Qt

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 Design’erem.

kurs matura z informatyki
Już niebawem rusza kurs przygotowujący do matury z informatyki.
Nie daj się zaskoczyć na maturze – zapisz się do listy mailingowej już teraz!

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 Designer

We wstępie wspomniałem o czymś takim jak Qt Designer. Jest to wbudowany edytor umożliwiający tworzenie aplikacji (w szczególności GUI) za pomocą gotowych elementów. Umiejętnie wykorzystywany potrafi znacznie przyśpieszyć proces tworzenie oprogramowania. Niemniej jednak, nie w każdym projekcie znajdzie zastosowanie i w dalszym ciągu pozostaje zależny od samodzielnie napisanego kodu. Jego możliwości są mocno ograniczone w momencie, gdy nie korzystamy z własnoręcznie stworzonych elementów. Jak ktoś może powiedzieć, że zna technologię 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.
  • Braki w stosunku do niektórych środowisk – nie wszystkie idee tego frameworka znajdują realne odwzorowanie. Przykładowo Qt dostarcza narzędzi do tworzenia nienatywnych aplikacji mobilnych pod Androida i iOS. Niestety posiada braki względem tych środowisk.

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.

Dobrym źródłem wiedzy są również książki poświęcone QT, jak np. ta powyżej.

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.

You Might Also Like
Dodaj komentarz

icon