Co to jest QT: instalacja, cechy pracy, recenzje programistów

Międzyplatformowa struktura QT (struktura KP) jest używana jako graficzny zestaw narzędzi, a także przydatna w tworzeniu aplikacji CLI. Działa na trzech głównych komputerach stacjonarnych, mobilnych systemach operacyjnych (Symbian, Nokia Belle, Meego Harmattan, MeeGo) i urządzeniach osadzonych, które mogą uzyskać wydłużenie odstępu QT.

Historia rozwoju programu

Rozwój QT został zapoczątkowany w 1990 roku przez norweskich programistów Ayr Chambé-Eng i Haavard Nord. Ich firma Trolltech sprzedała licencje QT i zapewniła wsparcie techniczne. Dziś firma nosi nazwę The QT Company i jest spółką zależną Digia Plc z siedzibą w Finlandii. Chociaż jest to główny czynnik napędowy, obecnie jest rozwijany przez większy sojusz.


Składa się z wielu firm i osób na całym świecie i działa w oparciu o merytokratyczny model zarządzania. Każdy, kto chce, może dołączyć do zespołu. Istnieje wiele sposobów na osobisty wkład w projekt QT. Co to znaczy? Jest to na przykład pisanie kodu lub dokumentacji dla frameworka, zgłaszanie błędów lub pomoc innym użytkownikom na forum i utrzymywanie strony w Internecie. Mimo że z programem można używać dowolnego systemu kompilacji, ma on własny qmake. Jest to platformowa platforma montażowa oparta na platformach, na przykład GNU Make, Visual Studio i Xcode. CMake jest również popularną alternatywą dla rozwoju projektu. Niewiele osób wie, że taki QT jest dostępny z różnymi licencjami. To jest reklama iwolne oprogramowanie w kilku wersjach GPL i LGPL.


Wsparcie QT 4 zostało zintegrowane wiele lat temu, a QT 5 zapewniało wsparcie na wczesnym etapie. Właśnie ukazał się nowy projekt QT Suite Build aka Qbs. Jest to system kompilacji oparty na QML, który obsługuje również pakowanie javascript i CMake.

Zintegrowane środowisko programistyczne

Struktura KP zawiera własne zintegrowane środowisko programistyczne (IDE) o nazwie QT Creator, działające pod kontrolą systemu Linux, OS X i Windows. Oferuje inteligentne uzupełnianie kodu, podświetlanie składni, zintegrowany helpdesk, debugger i integrację wszystkich głównych systemów kontroli wersji, takich jak git, Bazaar. Oprócz rozwijania QT Creator w Windows, możesz także użyć dodatku Visual Studio i innych IDE, takich jak KDevelop w KDE. Struktura KP doskonale wspiera internacjonalizację (i18n) i lokalizację (l10n). Narzędzie QT Linguist oraz jego lupdate, lrelease i lconvert ułatwiają tłumaczenie aplikacji na wymagane języki. Obsługuje większość systemów nagrywania używanych obecnie. Interfejs graficzny jest tworzony bezpośrednio w C ++. Zauważ, że QT wykonuje tę akcję za pomocą modułu Widgets. Jest również wyposażony w interaktywne narzędzie graficzne QT Designer, które działa jako generator kodu dla graficznych interfejsów opartych na widgetach. QT Designer może być używany autonomicznie.

Opracowanie interfejsu graficznego

QTQuick zapewnia niezbędne moduły do ​​tworzenia graficznego interfejsu z QML. Możesz pisać całe programy tylko w QML, ale z reguły GUI jest napisane w QML, a program zapleczazaimplementowane w C ++. Ponadto Creator ma wbudowanego graficznego projektanta QTQuick i scroller.
Struktura CP to znacznie więcej niż prosty zestaw narzędzi GUI. Zapewnia moduły do ​​tworzenia międzyplatformowego w zakresie sieci, baz danych, OpenGL, technologii internetowych, czujników, protokołów komunikacyjnych (Bluetooth, porty szeregowe, NFC), przetwarzania XML, JSON, drukowania, generowania PDF, odstępów QT oraz znacznie więcej. Aplikacje, które go używają, są zwykle napisane w języku C ++, a powiązania QML w innych językach istnieją i mogą być dostarczane przez strony trzecie. Riverbank Computing to na przykład komercyjne i darmowe oprogramowanie do powiązań Python (PyQT). Należy podkreślić, że taki QT ma wiele atrybutów, które można zmieniać za pomocą modułów pobierających i ustawiających. Jeśli atrybut jest nazywany foo, powiązany program pobierający i ustawiający będzie miał następujący podpis: T foo () const void setFoo (const T). Interwał QT rozszerza system atrybutów, pobierających i ustawiających, które są właściwościami. Konieczne jest wyjaśnienie konkretnej terminologii. Właściwość to wartość dowolnego typu, do którego można uzyskać dostęp, zmienić lub stała, i powiadomić o zmianie. System właściwości jest przydatny, szczególnie w trzeciej części (QML).

Hierarchia klas C

QT szeroko stosuje dziedziczenie, szczególnie w module Widgets. QObject jest klasą podstawową. Zapewnia kilka bardzo zaawansowanych funkcji:
  • Możesz ustawić nazwę jako ciąg do wyszukiwania obiektów.
  • System rodzicielski.
  • Sygnały i gniazda.
  • Zarządzanie zdarzeniami.
  • Widżety mogą reagować na zdarzenia i korzystać z systemu systemów macierzystych, sygnałów iautomaty Są dziedziczone z QObject. Najprostszym widgetem jest QWidget. Zawiera większość właściwości, które są używane do opisania okna lub widżety, takie jak położenie i rozmiar, kursora oraz podpowiedzi.
    Widżet QT może również być oknem. Dlatego nie ma potrzeby stosowania klasy QWindow. Prawie wszystkie elementy graficzne odziedziczone po QWidget:
  • QAbstractButton klasa bazowa dla wszystkich typów przycisków.
  • Rozszerzenie skali QT.
  • QPushButton.
  • QCheckBox.
  • QRadioButton.
  • QFrame, która wyświetla ramkę.
  • QLabel, który wyświetla tekst lub obrazy.
  • Dziedziczenie odbywa się w celu ułatwienia zarządzania nieruchomościami. Niektóre z nich, takie jak rozmiar i kursorów mogą być stosowane do innych elementów graficznych i QAbstractButton zapewnia jakość współdzielony przez wszystkich przycisków.

    System kontroli rodzicielskiej

    Ten system sterowania - w wygodny sposób działają z obiektami w qt, zwłaszcza wzory. Każdy obiekt, który dziedziczy QObject może mieć elementy nadrzędne i podrzędne. Hierarchia drzewa sprawia łatwy pracy:
  • Gdy obiekt jest zniszczony, wszystkie jego komunikacji rodzic usunięte również. Tak więc wywołanie usunięcia staje się niepotrzebne.
  • Jednostki wzory QWidget automatycznie pojawiają się w macierzystym.
  • Prawie wszystkie narzędzia interfejsu użytkownika posiadają mechanizm identyfikowania działań i reagowania na nią.

    i gniazda sygnałów

    QT zawiera dwa wysokiego poziomu pojęcia: sygnały i szczelin. Sygnał jest komunikatem o zmianie statusu obiektu. Jest slotfunkcja używana do odbierania sygnału i odpowiadania na nie. Pojęcia te są przydatne przy naciskaniu przycisków, ale mogą zrobić znacznie więcej. Na przykład są używane do przesyłania informacji. Załóżmy, że podczas odtwarzania utworu potrzebny jest wskaźnik pokazujący, ile czasu pozostało do zakończenia dźwięku. Odtwarzacz multimedialny może być klasą używaną do sprawdzania postępu multimediów. Instancja tej klasy może okresowo wysyłać sygnał wskazujący wartość zmiany. Hipotetyczna klasa używana do testowania postępu może dać sygnał, który ma podpis: void MediaProgressManager :: tick (int miliseconds). Jeśli programista połączy sygnał z gniazdem, który nie używa tych samych parametrów, użytkownik otrzyma ostrzeżenie: QObject :: connect: Niepowiązane argumenty nadawcy /odbiorcy. Wynika to z faktu, że sygnał przesyła informacje do gniazda przy użyciu określonych parametrów. Funkcje pojęć:
  • Jeden sygnał może być podłączony do kilku gniazd.
  • Wiele sygnałów może być podłączonych do jednego gniazda.
  • Sygnał można podłączyć do innego sygnału - nazywane to przekaźnikiem.
  • Drugi sygnał jest wysyłany, jeśli nadejdzie pierwszy.
  • Wyszukiwanie problemów związanych z kompilacją

    Podczas kompilowania programu, szczególnie w sytuacjach, gdy dodawane jest makro Q_OBJECT, może wystąpić błąd: main.cpp: niezdefiniowane odniesienie do tabeli vtable dla okna.
    Wynika to z faktu, że kompilator nie uruchamia się w klasie metaobiektów. W tym przypadku qmake jest restartowany przez wykonanie poleceniaUtwórz & gt; Uruchom qmake Przycisk jest standardowym elementem interfejsu graficznego struktury KP. Często jest używany do unikalnego wyboru z listy, na przykład w QT QRadioButton do tworzenia przełączników.
    Dzięki swojemu dziedzictwu, QRadioButton zachowuje się dokładnie jak QPushButton. Wszystkie właściwości są takie same. Domyślnie QRadioButtons nie są zgrupowane, więc wiele z nich można sprawdzić w tym samym czasie. Aby mieć "wyłączne" zachowanie wielu przełączników, musisz włączyć QButtonGroup. Wykonuje się to w następujący sposób: przydziel nową grupę przycisków i dołącz ją do obiektu nadrzędnego. Zauważ, że może to być główne okno.

    Instalowanie pakietu SDK dla systemu Symbian i Nokia

    Aby rozpocząć korzystanie z aplikacji QT, należy pobrać bibliotekę i IDE. Możesz je utworzyć ze źródła lub przesłać jako SDK. Zawiera wiele funkcji, takich jak kompilatory krzyżowe dla Symbiana i Nokii. Należy używać tych pakietów:
  • Dokumentacja QMake.
  • ​​
  • Dokumentacja QT.
  • QT 481 Destkop.
  • QT Creator.
  • Możesz wybrać inne pakiety, jeśli potrzebujesz programowania dla Symbian /Maemo /Meego, a także tych, które mają starszą wersję QT. W Linuksie lepiej jest używać pakietów dostarczanych przez dystrybucję. Kreator QT powinien być dostępny w prawie wszystkich dystrybucjach. Podczas rozpakowywania instaluje wszystkie zależności, na przykład biblioteki, kompilatory i nagłówki programistyczne. Teraz możesz utworzyć pierwsze okno, pisząc zwykły "Hello world".
    Przed stworzeniem pierwszej aplikacji graficznej Open Creator IDE C ++, która jest bardzo odpowiednia do kodowania aplikacji QT. On dajeprzeglądarka doc i "projektant", który upraszcza tworzenie okien. Wszystkie są osadzone w przemyślanym interfejsie użytkownika. QT służy do wskazania, które biblioteki i moduły znajdują się w projekcie. Ponieważ pierwsza aplikacja jest zwykle małym graficznym interfejsem użytkownika, użytkownicy będą potrzebować QTCore i QTGui. Teraz dodaj punkt wejścia do aplikacji. Weź plik C ++ lub projekt. Plik źródłowy C ++ musi ukończyć zadanie. Postępuj zgodnie z instrukcjami kreatora, ustawiając plik na nazwę główną. Po tym projekt jest gotowy. W pliku projektu znajduje się nowa linia QT, automatycznie dodawana przez twórcę. QApplication to bardzo ważna klasa. Dba o argumenty wejściowe i cykl zdarzeń. Uruchamia się podczas działania app.exec (). Aby skompilować tę aplikację, kliknij zieloną strzałkę po lewej stronie poniżej. Twórca skompiluje i wydłuży odstęp QT. Pętla zdarzeń zostanie uruchomiona i będzie czekała na akcje, takie jak kliknięcie myszą w interfejsie graficznym. Po zakończeniu kompilacji użytkownik zobaczy pierwsze okno QT. Jak będzie wyglądać na ekranie jest pokazane na zdjęciu poniżej.

    System kompilacji Gmake

    Creator wykonuje zadania systemowe, ale ważne jest, aby wiedzieć, jak skompilowane programy QT. Jeśli są małe, można to zrobić ręcznie, tworząc pliki obiektów, a następnie je łącząc. Ale w przypadku dużych projektów wiersz poleceń jest trudny do napisania. W systemie Linux wszystkie programy są kompilowane przy użyciu pliku make, który opisuje wiersz poleceń. Gmake to system gromadzenia danych, który jest dostarczany wraz z programem QT. Generuje pliki make dla programisty. Przy użyciu prostej składni tworzony jest plik.który jest używany do kompilacji programu QT. Ale nie jest to jedyny cel. QT używa metaobjectów do rozszerzenia funkcjonalności C ++, qmake jest odpowiedzialny za przygotowanie pliku zawierającego tę fazę ekstrakcji. Program QT jest kompilowany w 3 krokach:
  • . Plik pro jest napisany w celu opisania projektu do kompilacji.
  • Plik make jest tworzony przy użyciu qmake.
  • Program budowany jest za pomocą NMake w oknach.
  • Instalowanie programu Windows Creator

    Aby zainstalować program, wejdź na oficjalną stronę Creator i pobierz oprogramowanie. Wybierz zalecany program ładujący:
  • QT Online Installer dla systemu Windows. Kliknij przycisk "Pobierz" u dołu strony, po czym rozpocznie się proces.
  • Uruchom instalator .exe QT Creator, klikając dwukrotnie myszką, aby uruchomić podłączoną aplikację, w której zostanie ona zainstalowana na komputerze.
  • W przypadku większości ekranów wystarczy kliknąć "Dalej", aby przejść do następnej opcji.
  • Na ekranie "Rejestracja" można kliknąć "Pomiń".
  • Na ekranie komponentów złodzieja niektóre wersje z wersją alfa, beta lub podglądem nie są wybierane podczas instalacji MinGW.
  • Rozwiń trójkąt QT, następnie QT 5112, a następnie sprawdź 32G MinGW 5 .xx.
  • Jeśli nie zostanie to zrobione, komputer nie będzie w stanie skompilować i uruchomić programów w C ++. Na wszystkich poniższych ekranach wykonaj QT Windows:
  • Kliknij Next, Accept lub Install, aby zakończyć instalację.
  • Następnie kliknij "Zakończ", aby uruchomić Kreatora.
  • Spróbuj skompilować /uruchomić przykładowy projekt.
  • Upewnij się, że wszystkie części działająuruchomić projekt korzystający z bibliotek Stanford C ++.
  • Pobierz na komputer następujący plik projektu ZIP: sample-project.zip. Powinien mieć katalog o nazwie przykładowy projekt i kilka folderów w środku.
  • Otwórz projekt. W Creator, wybierz Plik - & gt; "Otwórz plik lub projekt" lub naciśnij Ctrl + O (Command + O na Macu).
  • Przejdź do przykładowego folderu projektu i otwórz plik sample-project.pro. Twórca poprosi Cię o kilka pytań dotyczących konfiguracji procesu tworzenia tego projektu.
  • Użytkownik akceptuje domyślną wartość i klika "Konfiguruj projekt".
  • Tips for Dummies

    Aby korzystać z aplikacji, potrzebujesz specjalnych informacji o jej funkcjach. Najbardziej kompletny pakiet dokumentacji jest dostępny w sieci deweloperów. Zapewnia DocNotes, które mogą być dodawane przez użytkowników. Jeśli QTSDK został zainstalowany poprawnie, należy również zainstalować dokumentację odpowiadającą aktualnej wersji QT. Możesz również użyć QT Assistant, który jest autonomiczną przeglądarką dokumentów. Ważne sekcje dokumentacji:
  • QT Assistant.
  • Projektant QT.
  • QT Linguist.
  • QMake.
  • Najważniejszym elementem jest dokumentacja referencyjna QT. Zapewnia dobry wkład wielu komponentów. Ta lista pojawia się na stronie "Wszystkie klasy". Inną interesującą stroną jest ta, w której wymienione są wszystkie moduły. Dostarcza informacji o różnych komponentach. Dokumentacja zajęć jest zorganizowana w następujący sposób:
  • Nazwa i krótki opis klasy.
  • Dziedziczenie.
  • Przeniesienie.
  • Właściwości.
  • Metody publiczne.
  • Otwórz gniazda.
  • Sygnały.
  • Metody chronione.
  • opinie

    Corocznie wzrasta liczba użytkowników QT. Programiści w swoich recenzjach nie tylko piszą, że struktura jest dość wygodna, niedroga, wysokiej jakości, ale także daje nowicjuszowi wszystkie korzyści. Oto niektóre z nich:
  • Interfejs jest czysty i zrozumiały. Posiada wszystkie niezbędne narzędzia do tworzenia konsol, debugowania, śledzenia, a także ma przydatną funkcjonalność do przełączania między funkcjami i ich definicjami.
  • Funkcja QT do tworzenia, debugowania i śledzenia jest niezwykle przydatna, szczególnie gdy chodzi o próby znalezienia błędów w kodzie oprogramowania.
  • Możesz łatwo przejść do sekcji kodu, co powoduje, że problem wyświetla zmienne lokalne i ich zawartość w czasie rzeczywistym.
  • Projektant /formularze interfejsu użytkownika to ogromny oszczędność czasu podczas konstruowania złożonych interfejsów. Jeśli go nie używasz, wymagane są ręczne wpisy ręczne.
  • W QT jego biblioteki i kompilatory są łatwe do utrzymania w ustawieniach profilu dla łatwego przełączania i późniejszego użycia.
  • Jak widać, struktura wieloplatformowa może obejmować wszystkie platformy docelowe z jedną technologią i bazą kodu, co minimalizuje czas wejścia na rynek i obciążenie konserwacyjne.

    Powiązane publikacje