encyklopedia.space

Qt (biblioteka)

Qt – wieloplatformowa biblioteka programistyczna służąca do tworzenia graficznych interfejsów użytkownika (GUI) oraz aplikacji działających w środowiskach Linux, Windows, macOS, Android i iOS. Projektowana jest głównie w języku C++, a od wersji 5.0 udostępnia także warstwę QML oraz technologię Qt Quick umożliwiającą programowanie reaktywne.

Historia

Biblioteka została założona w 1991 roku przez firmę Haivision (wówczas Trolltech) pod nazwą Qt (od QuickTechnology). Pierwsza wersja Qt 1.0 pojawiła się w 1995 roku i była przeznaczona wyłącznie dla systemu X11. Po przejęciu przez Nokia w 2008 roku oraz późniejszym zakupie przezThe Qt Company w 2012 roku, projekt stał się otwarto‑źródłowy i przyjął licencję LGPL oraz komercyjną.

Architektura i podstawowe komponenty

  • Qt Core – podstawowy moduł zawierający klasy zarządzania pamięcią, zdarzeniami, wątkami oraz kontenerami.
  • Qt GUI – obsługa graficznych elementów interfejsu, renderowanie 2‑D oraz wsparcie dla OpenGL.
  • Qt Widgets – tradycyjny zestaw widżetów (przyciski, listy, tabele) umożliwiający tworzenie klasycznych interfejsów desktopowych.
  • Qt Quick – framework oparty na QML i JavaScript, przeznaczony do budowy dynamicznych, dotykowych UI.
  • Qt Network – klasy umożliwiające komunikację sieciową (TCP/IP, HTTP, WebSockets).
  • Qt Multimedia – obsługa dźwięku, wideo oraz urządzeń multimedialnych.
  • Qt SQL – warstwa abstrakcji baz danych (SQLite, MySQL, PostgreSQL).
  • Qt Test – narzędzia do testowania jednostkowego aplikacji Qt.

Obsługiwane języki i powłoki

Podstawowym językiem jest C++, ale Qt oferuje także:

Zastosowania

Qt jest wykorzystywane w szerokim spektrum projektów:

  • Systemy operacyjne i środowiska graficzne (np. KDE Plasma).
  • Aplikacje biurowe (LibreOffice częściowo oparty na Qt).
  • Oprogramowanie przemysłowe i sterowanie (systemy SCADA, automatyka).
  • Rozwiązania multimedialne (odtwarzacze, edytory wideo).
  • Aplikacje mobilne i wbudowane (samochodowe, medyczne).

Licencjonowanie

Qt dostępny jest w dwóch głównych modelach licencyjnych:

  1. Licencja otwarto‑źródłowa – LGPL (wersje 2.1 i 3.0) oraz GPL. Umożliwia darmowe wykorzystanie w projektach zgodnych z warunkami tych licencji.
  2. Licencja komercyjna – płatna, przeznaczona dla firm, które potrzebują zamkniętego kodu źródłowego lub wyłącznych praw dystrybucji.

Rozwój i społeczność

Rozwój Qt prowadzony jest przez The Qt Company oraz liczną społeczność programistów. Co roku organizowane są konferencje Qt Day oraz Qt Developers Conference, a kod źródłowy jest hostowany w publicznych repozytoriach Git.

Przykład prostego programu

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QPushButton przycisk("Kliknij mnie");
    przycisk.show();
    return app.exec();
}

Powyższy kod ilustruje klasyczną aplikację okienkową stworzoną przy użyciu Qt Widgets.

Linki wewnętrzne

W niniejszym artykule można znaleźć odnośniki do innych wpisów encyklopedycznych, które rozwijają tematy poruszone powyżej, takie jak C++, QML, Linux, Windows czy macOS.

Literatura i źródła