Kurs Qt cz2. – Qt GUI oraz licencja Qt

Reading Time: 4 minutes

Licencja Qt

Qt dystrybuowane jest na zasadach kilku różnych licencji, komercyjnej płatnej, oraz LGPL bezpłatnej. Ciebie w tym kursie będzie interesowała licencja bezpłatna Qt, obecnie jest to LGPL3.

Pozwala ona na pełne wykorzystanie biblioteki Qt, tak samo jak jej wersja płatna. Różnice są głównie w możliwości dystrybuowania napisanych przez ciebie aplikacji. Nie będę tutaj przytaczał całej licencji, powinieneś się z nią jednak zapoznać we własnym zakresie, pokrótce to:

  • Nie można ci linkować bibliotek Qt statycznie w swoich programach
  • Jeśli zmieniłeś coś w samym Qt, to musisz opublikować te zmiany (np. w biliotekach Qt)
  • Do napisania swojej aplikacji musisz użyć niekomercyjnej wersji Qt

Więcej na ten temat znajdziesz na https://forum.qt.io/topic/17476/licecnja-lgpl-co-i-jak/2

Qt GUI, czyli co i jak i jak się w nim odnaleźć

Qt GUI, to graficzny edytor Qt. Zorganizowany jest on bardzo intuicyjnie i przejrzyście. Po lewej stronie masz dostęp do tzw, kontrolek, które będziesz umieszczał w oknie swojej aplikacji, po środku znajduje się edytor z widgetem Twojej aplikacji, to na nim będziesz właśnie umieszczał kontrolki, po prawej natomiast opcje edycji Twoich kontrolek. Postaram się teraz pokrótce opisać do czego to wszystko służy.

Layouts

Zawiera zestaw różnego rodzaju siatek (gridów) służących do łatwego pozycjonowania rozmieszczonych na widgecie kontrolek.

Spacers

Pozwalają na zachowanie wymaganej odległości między kontrolkami

Buttons

Tutaj znajdują się kontrolki różnego rodzaju przycisków

Push Button – klikalny przycisk, na którym możemy umieścić dowolną nazwę.

Tool Button – pozwala np. otworzyć jakieś okno z narzędziami.

Radio Button – tzw opcje wyboru. Pozwala na zaznaczenie interesującej opcji przez użytkownika naszej aplikacji.

Check Box – opcje wyboru wielokrotnego w postaci tzw checkboksa.

Command Link Button – przycisk linku poleceń. Używany jako alternatywa do przycisku Radio. Umożliwia także wybór wykluczających się opcji, jednak posiada także ikonkę strzałki sugerującą, że po kliknięciu zostanie otworzone nowe okno lub strona internetowa.

Dialog Button Box – Jest to grupa dwóch przycisków typu anuluj i ok z umieszczonymi na nich ikonkami “x” sugerującym anulowanie oraz “v’ ptaszka sugerującego potwierdzenie. Dość często wykorzystywana kontrolka w różnych aplikacjach.

Item View oraz Item Widgets

List Wiev – lista rozwijana, czyli opcje wyboru w postaci rozwijanej listy.

Three Widgets – lista rozwijana w postaci drzewa.

Table Widgets – Umożliwia stworzenie tabeli o zadanej ilości kolumn i wierszy oraz uzupełnienie tych pól zadanymi wartościami.

Containers

Są to tzw. kontenery, w których możemy umieszczać inne kontrolki. Służą do lepszej organizacji naszej aplikacji.

Group Box – Okienko pozwala zgrupować wybrane kontrolki w jedną nazwaną grupę. Takich grup na widgecie może być wiele.

Scrol Area – Pozwala na umieszczenie na naszym głównym widgecie przewijanego pola i umieszczeniu w nim inych kontrolek.

Tool Box – nie wiem jak to dokładniej opisać ale pozwala na zorganizowanie takich zakładek jedna pod drugą, gdzie do każdej zakładki możemy wstawić różne potrzebne nam kontrolki.

Tab Widget – inna forma zakładek ułożonych koło siebie.

Stack Widget

Frame – ramka

Widget – pozwala na utworzenie własnego widgetu kontrolek wykorzystywanych później na innych widgetach potomnych np. typu Dialog

MDI Area – Interfejs wielu dokumentów

Dock Widget – pozwala dodać okno stacji dla aplikacji

Input Widgets

Grupa kontrolek pozwalająca na przypisanie im różnych wartości

Combo Box – Rozwijana lista wyboru

Font Combo Box – rozwijana lista wyboru przeznaczona specjalnie dla fontów.

Line Edit – jednoliniowy edytor tekstu

Text Edit – służy do edycji oraz wyświetlania sformatowanego tekstu

Plain Text Edit – służy do edycji oraz wyświetlania zwykłego tekstu

Spin box – służy do przypisania liczb całkowitych np. jako parametry zmiennych naszej aplikacji

Double Spin Box – służy do przypisania liczb zmiennoprzecinkowych o zadanej precyzji np. zmiennym w naszej aplikacji

Time Edit – specjalna kontrolka służąca do edycji czasu

Date Edit – specjalna kontrolka służąca do edycji daty

Date/Time Edit – specjalna kontrolka służąca do edycji zarówno daty jak i czasu

Dial – służy do przypisania danych wartości np. do zmiennej. Kontrolka w postaci pokrętła.

Horizontal Scroll Bar – kontrolka paska przewijania poziomego

Vertical Scrol Bar – kontrolka paska przewijania pionowego

Horizontal Slider – suwak poziomy, pozwala np na przypisanie danej wartości do zmiennej

Vertical Slider – suwak pionowy

Key Sequence Edit – Pozwala użytkownikowi wybrać tzw. key sequence

Display Widget

Grupa kontrolek pozwalająca wyświetlać różne wartości

Label – pozwala na wyświetlanie tekstu

Text Browser – Zapewnia wyświetlanie tekstu sformatowanego wraz z przeglądarką hipertekstową

Graphics Wiev – pozwala na wyświetlenie grafiki

Calendar Widget – kalendarz

LCD Number – pozwala na wyświetlanie wyłącznie cyfer. Jest to taka imitacja wyświetlacza LCD.

Progress Bar – pasek postępu, wykorzystywany w celu pokazania, że zasoby są dalej ładowane

Horizontal i Vertical Line – linie poziome i pionowe

OpenGL Widget – pozwala na wyświetlenie grafiki Open GL

QQuickWidget – pozwala wyświetlić interfejs użytkownika QtQuick

Okno aplikacji z przykładowymi kontrolkami jakie posiada standardowo Qt. Oczywiście jeśli korzystasz z MS Windows lub innego klienta graficznego pod linuksem, wygląd ich będzie inny, dostosowany do twojego GUI z jakiego korzystasz.

Mnogość elementów może cię przytłoczyć na początku, możesz też nie do końca rozumiesz do czego one służą mimo opisu. Nie martw się jednak, podczas kursu pokażę do czego daną kontrolkę można wykorzystać na przykładach. Pamiętaj też, że dla wielu kontrolek, to do czego one służą jest umowne i można je wykorzystać w całkiem innym celu. Warto jednak pamiętać o ich przeznaczeniu, gdyż każda z nich zabiera jakieś większe lub mniejsze zasoby komputera i warto stosować je do aktualnych potrzeb i wymagań.http://doc.qt.io/qtcreator/

Nie musisz oczywiście też od razu znać na pamięć wszystkich kontrolek, poznasz je w ciągu niniejszego kursu. Teraz w ramach ćwiczeń możesz za pomocą przeciągnij i upuść, zamieścić kilka kontrolek na widgecie głównym, pobawić się ich opcjami konfiguracyjnymi, skompilować program i przetestować jak się one zachowują w zależności od przypisanych im parametrów i ustawień.

W kolejnym kursie rozmieścimy już odpowiednie kontrolki dla naszego kalkulatora oraz skonfigurujemy im wymagane opcje. Pokrótce też powiem do czego służą te opcje, z których będziesz najczęściej korzystał. Pełną specyfikację znajdziesz zawsze na stronie Qt, w tzw. manualu Qt http://doc.qt.io/qtcreator/, z którego korzystania i tak się nie obejdziesz.

Zostaw komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

trzy × dwa =