Qt (oprogramowanie)
Oryginalni autorzy | Haavard Nord i Eirik Chambe-Eng |
---|---|
Deweloperzy |
|
Pierwsze wydanie | 20 maja 1995 |
Wersja stabilna | |
Magazyn | |
Napisane w | C++ ( C++17 ) |
System operacyjny | Android , iOS , Linux ( wbudowany , Wayland , X11 ), macOS , Microsoft Windows , WebAssembly , ... |
Platforma | Międzyplatformowe |
Typ | Oprogramowanie wieloplatformowe i narzędzia programistyczne |
Licencja | |
Strona internetowa |
Qt (wymawiane jako „słodkie”) to wieloplatformowe oprogramowanie do tworzenia graficznych interfejsów użytkownika, a także wieloplatformowe aplikacje działające na różnych platformach programowych i sprzętowych, takich jak Linux , Windows , macOS , Android lub systemy wbudowane , z niewielkimi lub żadnymi zmianami w podstawowej bazy kodu, będąc jednocześnie natywną aplikacją z natywnymi możliwościami i szybkością.
Qt jest obecnie rozwijany przez The Qt Company , spółkę notowaną na giełdzie, oraz Qt Project w ramach zarządzania open source , z udziałem indywidualnych programistów i organizacji pracujących nad rozwojem Qt. Qt jest dostępny zarówno na licencjach komercyjnych, jak i open-source GPL 2.0, GPL 3.0 i LGPL 3.0.
Cele i zdolności
Qt służy do tworzenia graficznych interfejsów użytkownika (GUI) i aplikacji wieloplatformowych , które działają na wszystkich głównych platformach stacjonarnych i większości platform mobilnych lub wbudowanych. Większość programów GUI utworzonych za pomocą Qt ma natywny interfejs, w którym to przypadku Qt jest klasyfikowany jako zestaw narzędzi widżetów . Można również opracowywać programy inne niż GUI, takie jak wiersza poleceń i konsole dla serwerów. Przykładem takiego programu bez GUI używającego Qt jest framework sieciowy Cutelyst .
Qt obsługuje różne kompilatory, w tym kompilator GCC C++, pakiet Visual Studio , PHP za pośrednictwem rozszerzenia dla PHP5 i ma szerokie wsparcie internacjonalizacji . Qt zapewnia również Qt Quick , który zawiera deklaratywny język skryptowy o nazwie QML , który umożliwia użycie JavaScript w celu zapewnienia logiki. Dzięki Qt Quick możliwe stało się szybkie tworzenie aplikacji na urządzenia mobilne, podczas gdy logikę można nadal pisać za pomocą kodu natywnego, aby osiągnąć najlepszą możliwą wydajność.
Inne funkcje obejmują dostęp do bazy danych SQL , parsowanie XML , parsowanie JSON , zarządzanie wątkami i obsługę sieci.
Wydania Qt
Najnowsza wersja Qt to 6.4.
Również nadal obsługiwane dla użytkowników komercyjnych są 5.15 LTS, wydane 26 maja 2020 r., Oraz 6.2 LTS, wydane 30 września 2021 r. - wersje z długoterminowym wsparciem (LTS) są generalnie obsługiwane przez trzy lata, z licencją komercyjną, podczas gdy 5.15 wsparcie zostało przedłużone do pięciu lat, więc jest wspierane dłużej lub do 26 maja 2025. Ponadto projekt KDE zapewnia nieoficjalne wsparcie przynajmniej dla Qt 5.15, czyli nie tylko dla użytkowników komercyjnych.
Qt w użyciu
W 2017 roku Qt Company oszacowała społeczność około 1 miliona programistów na całym świecie w ponad 70 branżach.
Interfejsy użytkownika na komputery stacjonarne
Graficzne interfejsy użytkownika i środowiska graficzne wykorzystujące Qt/QML jako zestaw narzędzi widgetów:
- KDE Plasma , wolne środowisko graficzne dla różnych urządzeń komputerowych
- DDE ( Deepin Desktop Environment) Linux Deepin
- UKUI ( interfejs użytkownika Ubuntu Kylin )
- Śliczna rybka DE
- LXQt (lekkie środowisko graficzne X11)
- Lumina , środowisko graficzne zaprojektowane dla TrueOS opartego na BSD
- Lomiri (dawniej Unity8 ), konwergentne środowisko graficzne zapoczątkowane przez Canonical, utrzymywane przez Ubports
- Maui Shell, DE, który zawiera również własny pakiet aplikacji
- Unity 2D , powłoka pulpitu napisana w Qt i Qml
- Trinity DE , stale rozwijany widelec oparty na KDE3
- SDDM , menedżer wyświetlania zgodny z X11 i Wayland, napisany w QML . (To jest menedżer wyświetlania , a nie środowisko graficzne).
Wbudowane i mobilne interfejsy użytkownika
- Aktywnie rozwijane lub utrzymywane
- AsteroidOS , system operacyjny typu open source przeznaczony dla smartwatchy
- Awionika, system rozrywki pokładowej firmy Panasonic
- Blackberry 10 , mobilny system operacyjny z ekranem dotykowym firmy Blackberry Ltd.
- Sailfish OS , mobilny system operacyjny opracowany przez firmę Jolla
- Plasma Mobile , dotykowy GUI opracowany przez KDE
- LuneOS , kierowany przez społeczność następca systemu Palm/HP webOS
- Nemo Mobile , oparty na Mer
- Lomiri , wcześniej znany jako Unity8, interfejs telefonu opracowany przez Ubports, pierwotnie przez Canonical
- Interfejs samochodowy Tesli Model S
- webOS , wielozadaniowy system operacyjny firmy LG dla inteligentnych urządzeń, takich jak telewizory i smartwatche
- Sky Q, system domowej rozrywki firmy Sky plc
- Dostępne, ale nieaktywne
Aplikacje korzystające z Qt
Wiele godnych uwagi programów typu open source lub zastrzeżonych programów wieloplatformowych używa Qt lub QML :
- 010 Editor , komercyjny edytor szesnastkowy i edytor tekstu dla systemów Microsoft Windows, Linux i macOS.
- Abletona na żywo
- Album Adobe Photoshop
- Adobe Photoshop Elements
- Narzędzie sterownika AMD Radeon Software Crimson Edition.
- Audacious , odtwarzacz muzyki dla systemów Linux , Microsoft Windows i innych systemów operacyjnych typu Unix .
- Autodesk Maya
- Autodesk 3dsMax
- Bitcoin Core , referencyjna implementacja bitcoina. Większość widelców bitcoinów zapewnia również referencyjny graficzny interfejs użytkownika.
- Calibre , aplikacja do zbierania e-booków
- Celestia , symulator 3D w czasie rzeczywistym całego znanego wszechświata (Qt dostępne tylko w wersji 1.7.0)
- Edytor CryEngine V
- DaVinci Resolve , edytor wideo
- Dolphin (emulator) , emulator dla Wii i GameCube
- Oprogramowanie do notacji Dorico
- Oprogramowanie do animacji poklatkowej Dragonframe
- EAGLE autorstwa CadSoft Computer / Autodesk , aplikacja EDA z przechwytywaniem schematów, układem PCB, automatycznym routerem i funkcjami CAM
- FreeMat bezpłatne środowisko obliczeń numerycznych o otwartym kodzie źródłowym
- Gambas bezpłatne zintegrowane środowisko programistyczne BASIC o otwartym kodzie źródłowym
- Google Earth
- Igor Pro , oprogramowanie do analizy danych
- Oprogramowanie do edycji grafiki i malowania cyfrowego Krita
- LMMS , wieloplatformowe oprogramowanie do produkcji muzyki
- Mathematica , matematyczny program do obliczeń symbolicznych, czasami nazywany systemem lub programem algebry komputerowej, używany w wielu dziedzinach nauki, inżynierii, matematyki i informatyki.
- Monero , kryptowaluta zorientowana na prywatność, wdraża swoje oficjalne oprogramowanie portfela komputerowego przy użyciu Qt.
- MuseScore , wieloplatformowe oprogramowanie do notacji typu open source
- OBS , bezpłatne, wieloplatformowe oprogramowanie do screencastów
- Pakiet do eksploracji danych Orange
- Wieloplatformowa aplikacja ParaView typu open source do interaktywnej wizualizacji naukowej
- qBittorrent międzyplatformowy, bezpłatny i otwarty klient BitTorrent
- System informacji geograficznej QGIS
- Wielościeżkowy rejestrator i oprogramowanie do edycji dźwięku Qtractor Audio
- Czytnik kanałów RSS
- Retroshare F2F
- Roblox Studio narzędzie do tworzenia gier używane na platformie Roblox
- Oprogramowanie do publikowania na komputerze Scribus
- Oprogramowanie do komponowania muzyki i notacji Sibeliusa
- Silnik Source 2 wykorzystuje silnik gier wideo 3D opracowany przez firmę Valve
- Stellarium , program planetarium
- Subsurface , oprogramowanie do rejestrowania i planowania nurkowań, pierwotnie zaprojektowane i opracowane przez Linusa Torvaldsa
- SuperCollider , środowisko i język programowania do syntezy dźwięku w czasie rzeczywistym i kompozycji algorytmicznej
- Teamviewer , pakiet oprogramowania komputerowego do zdalnego sterowania, udostępniania pulpitu, spotkań online, konferencji internetowych i przesyłania plików między komputerami
- Telegram , klient wiadomości dostępny dla systemów Windows, Mac i Linux
- VirtualBox OS
- Vlc media player
- Wireshark , analizator pakietów
- Biuro WPS
- XaoS , narzędzie do powiększania fraktali w czasie rzeczywistym
- XnView MP
Organizacje korzystające z Qt
Qt jest używany przez wiele firm i organizacji, takich jak
Architektura oprogramowania Qt
Koncepcje Qt
Qt opiera się na następujących kluczowych koncepcjach:
- Kompletna abstrakcja GUI
- Kiedy po raz pierwszy został wydany, Qt używał własnego silnika malowania i kontrolek, emulując wygląd różnych platform, na których działa, kiedy rysował swoje widżety. Ułatwiło to przenoszenie, ponieważ bardzo niewiele klas w Qt naprawdę zależało od platformy docelowej; jednak czasami prowadziło to do niewielkich rozbieżności, w których ta emulacja była niedoskonała. Najnowsze wersje Qt używają natywnych interfejsów API różnych platform, na platformach, które mają natywny zestaw widżetów, do wyszukiwania metryk i rysowania większości kontrolek, i nie cierpią z powodu takich problemów tak często. Na niektórych platformach (takich jak MeeGo i KDE) Qt jest natywny interfejs API. Niektóre inne przenośne zestawy narzędzi graficznych podjęły inne decyzje projektowe; na przykład wxWidgets wykorzystuje zestawy narzędzi platformy docelowej do swoich implementacji.
- Sygnały i gniazda
- Konstrukcja językowa wprowadzona w Qt do komunikacji między obiektami, która ułatwia implementację wzorca obserwatora przy jednoczesnym uniknięciu szablonowego kodu . Koncepcja polega na tym, że widżety GUI mogą wysyłać sygnały zawierające informacje o zdarzeniach, które mogą być odbierane przez inne kontrolki za pomocą specjalnych funkcji zwanych szczelinami.
- Metaobiekt kompilator Kompilator
- metaobiektów , nazwany moc , jest narzędziem uruchamianym na źródłach programu Qt . Interpretuje niektóre makra z kodu C++ jako adnotacje i używa ich do generowania dodanego kodu C++ z metainformacjami o klasach używanych w programie. Te metainformacje są używane przez Qt w celu zapewnienia funkcji programistycznych niedostępnych natywnie w C++: sygnałów i gniazd, introspekcji i asynchronicznych wywołań funkcji.
- Powiązania językowe
- Qt mogą być używane w kilku językach programowania inne niż C++, takie jak Python, Javascript, C# i Rust za pośrednictwem powiązań językowych ; wiele języków ma powiązania dla Qt 5 i powiązania dla Qt 4 .
Moduły Qt
Począwszy od Qt 4.0, framework został podzielony na poszczególne moduły. W Qt 5.0 architektura została jeszcze bardziej zmodularyzowana. Qt jest teraz podzielony na podstawowe i dodatkowe moduły.
Podstawowe informacje o Qt
Moduł | Opis |
---|---|
rdzeń Qt | Jedyny wymagany moduł Qt, zawierający klasy używane przez inne moduły, w tym system metaobiektów, współbieżność i wątki, kontenery, system zdarzeń, wtyczki i udogodnienia I/O. |
GUI Qt | Centralny moduł GUI. W Qt 5 ten moduł jest teraz zależny od OpenGL , ale nie zawiera już żadnych klas widżetów. |
Widżety Qt | Zawiera klasy dla klasycznych aplikacji GUI opartych na widgetach oraz klasy QSceneGraph. Został wydzielony z QtGui w Qt 5. |
QtQML | Moduł dla języków QML i JavaScript . |
Qt Szybki | Moduł aplikacji GUI napisanej przy użyciu QML2. |
Szybkie sterowanie Qt | Widżetowe kontrolki dla Qt Quick przeznaczone głównie do aplikacji desktopowych. |
Szybkie układy Qt | Układy do układania elementów w Qt Quick . |
Sieć Qt | Warstwa abstrakcji sieci. W komplecie z obsługą TCP , UDP , HTTP , TLS , SSL (w Qt 4) i SPDY (od Qt 5.3). |
Qt Multimedia | Zajęcia z funkcjonalności audio, wideo, radia i kamery. |
Widżety multimedialne Qt | Widżety z Qt Multimedia . |
Qt SQL | Zawiera klasy do integracji z bazą danych przy użyciu SQL . |
Qt WebEngine | Nowy zestaw interfejsów API Qt Widget i QML webview oparty na Chromium . |
Test Qt | Zajęcia do testów jednostkowych aplikacji i bibliotek Qt. |
Dodatki Qt
Moduł | Opis |
---|---|
Aktywny Qt | Klasy dla aplikacji korzystających z ActiveX . |
Wykresy Qt | Zapewnia funkcjonalność i widżety do kreślenia wykresów różnego rodzaju |
Qt Bluetooth | Klasy uzyskujące dostęp do sprzętu Bluetooth . |
Qt D-Bus | Zajęcia dla IPC z wykorzystaniem protokołu D-Bus . |
Qt NFC | Klasy uzyskujące dostęp do sprzętu NFC . Jak dotąd tylko oficjalnie obsługiwane na sprzęcie BlackBerry (lub N9 w porcie MeeGo). |
Qt OpenGL | Legacy moduł zawierający klasy OpenGL z Qt 4. W Qt 5 zalecana jest podobna funkcjonalność w Qt GUI . |
Lokalizacja firmy Qt | Zajęcia dotyczące uzyskiwania dostępu do GPS i innych usług lokalizacyjnych oraz tworzenia map i nawigacji. Oddzielone od modułu Qt 4 Mobility w Qt Location . Obsługiwane w systemach Android, BlackBerry, iOS, Linux (przy użyciu GeoClue), Windows i Sailfish OS. |
Qt Szybkie 3D | Klasy do renderowania modeli 3D , gier wideo , symulacji i interfejsów użytkownika 3D , z API Qt QML , do mieszanego wykresu sceny 2D i 3D . |
Skrypt Qt | Starszy moduł do skryptowania aplikacji Qt przy użyciu ECMAScript/ JavaScript . W Qt 5 zalecane jest używanie podobnych klas w Qt QML . |
Czujniki Qt | Klasy umożliwiające dostęp do różnych mobilnych czujników sprzętowych. Kiedyś był częścią Qt Mobile w Qt 4. Obsługiwany na Androidzie, BlackBerry, iOS, WinRT, Mer i Linux. |
Port szeregowy Qt | Klasy dostępu do sprzętu i wirtualnych portów szeregowych. Obsługiwane w systemach Windows, Linux i macOS. |
Qt WebChannel | Zapewnia dostęp do obiektów Qt do HTML/Js przez WebSockets . |
Qt WebKit | Implementacja i API Qt w WebKit . |
Widżety Qt WebKit | Interfejs API widgetów dla Qt WebKit |
Qt WebSockets | Zapewnia implementację protokołu WebSocket . |
Qt XML | Starszy moduł zawierający klasy dla interfejsów API XML w stylu SAX i DOM . Zastąpione klasami QXmlStreamReader i QXmlStreamWriter w Qt Core . |
Wzorce Qt XML | Obsługa walidacji XPath , XQuery , XSLT i XML Schema . |
Wydania
Dostępne są cztery edycje Qt: Community , Indie Mobile , Professional i Enterprise . Wersja Community jest objęta licencjami open source, natomiast wersje Indie Mobile, Professional i Enterprise, które zawierają dodatkowe funkcje i biblioteki, np. Enterprise Controls, są sprzedawane komercyjnie przez The Qt Company.
Obsługiwane platformy
Qt działa na wielu różnych platformach; następujące są oficjalnie obsługiwane:
Platforma | Opis |
---|---|
Linux/Unix | |
X11 | Qt dla systemu X Window ( Linux ); FreeBSD , NetBSD , OpenBSD i DragonFly BSD mają wsparcie społeczności. |
Waylanda | Aplikacje Qt mogą przełączać się między graficznymi backendami, takimi jak X i Wayland w czasie ładowania, za pomocą opcji wiersza poleceń -platform. Pozwala to na bezproblemowe przejście aplikacji Qt z X11 na Wayland. SailfishOS używa Wayland tylko dlatego, że nie ma X11. |
Android | Qt dla Androida (wcześniej znany jako Necessitas). |
Wbudowany Linuks | Qt dla platform wbudowanych: osobisty asystent cyfrowy , smartfon itp. Istnieje wiele platform w zależności od technologii wyświetlania. DirectFB , LinuxFB i EGLFS ( pełny ekran EGL ). |
Platformy Microsoftu | |
Okna | Qt dla Microsoft Windows 7 , 8 i 10 |
WindowsRT | Obsługa aplikacji Windows 10 Mobile opartych na WinRT i Windows 10 IoT |
Platformy Apple'a | |
System operacyjny Mac | Qt dla Apple macOS ; obsługuje aplikacje na Cocoa |
iOS | Qt dla platform iOS ( iPhone , iPad ) |
Inne platformy wbudowane | |
Uczciwość | Qt dla integralności |
QNX | Qt dla QNX |
VxWorks | Qt dla VxWorks . Dostępne tylko na zastrzeżonej (komercyjnej). Qt 5.5. |
Po tym, jak Nokia otworzyła kod źródłowy Qt dla społeczności na Gitorious , pojawiły się różne porty. Istnieją również porty Qt, które mogą być dostępne, ale nie są już obsługiwane. Te platformy są wymienione na liście platform obsługiwanych przez Qt . Zobacz także aktualne wsparcie społeczności dla innych mniej znanych platform, takich jak SailfishOS .
Koncesjonowanie
Qt jest dostępny na następujących licencjach wolnego oprogramowania: GPL 2.0 , GPL 3.0 , LGPL 3.0 i LGPL 2.1 (ze specjalnym wyjątkiem Qt). Należy pamiętać, że niektóre moduły są dostępne tylko na licencji GPL, co oznacza, że aplikacje, które łączą się z tymi modułami, muszą być zgodne z tą licencją.
Ponadto Qt zawsze był dostępny na licencji komercyjnej, takiej jak Qt Commercial License, która umożliwia tworzenie zastrzeżonych aplikacji bez ograniczeń licencyjnych.
Narzędzia Qt
Qt jest dostarczany z własnym zestawem narzędzi ułatwiających programowanie na różnych platformach, co w przeciwnym razie może być uciążliwe ze względu na inny zestaw narzędzi programistycznych.
Qt Creator to wieloplatformowe IDE dla C++ i QML. Funkcjonalność układu/projektowania GUI Qt Designer jest zintegrowana z IDE, chociaż Qt Designer nadal może być uruchamiany jako samodzielne narzędzie.
Oprócz Qt Creator, Qt zapewnia qmake , wieloplatformowe narzędzie do generowania skryptów kompilacji , które automatyzuje generowanie Makefile dla projektów rozwojowych na różnych platformach. W Qt dostępne są inne narzędzia, w tym konstruktor interfejsu Qt Designer i przeglądarka pomocy Qt Assistant (które są wbudowane w Qt Creator), narzędzie do tłumaczenia Qt Linguist, uic (kompilator interfejsu użytkownika) i moc (kompilator meta-obiektów ).
Historia Qt
Wczesne zmiany
Latem 1990 roku Haavard Nord i Eirik Chambe-Eng (pierwotni twórcy Qt oraz odpowiednio dyrektor generalny i prezes Trolltech ) pracowali razem nad aplikacją bazy danych dla obrazów ultrasonograficznych napisaną w C++ i działającą w systemach Mac OS , Unix i Microsoft Windows . Rozpoczęli rozwój „Qt” w 1991 roku, trzy lata przed zarejestrowaniem firmy jako Quasar Technologies, a następnie zmienili nazwę na Troll Tech, a następnie na Trolltech.
Zestaw narzędzi został nazwany Qt, ponieważ litera Q wyglądała atrakcyjnie w kroju Haavarda Emacsa , a „t” zostało zainspirowane Xt , zestawem narzędzi X.
Pierwsze dwie wersje Qt miały tylko dwa warianty: Qt/X11 dla systemu Unix i Qt/Windows dla systemu Windows.
20 maja 1995 r. Troll Tech publicznie udostępnił Qt 0.90 dla X11/Linux z kodem źródłowym na licencji Qt Free Edition . Ta licencja została uznana za niezgodną z definicją wolnego oprogramowania przez Free Software Foundation , ponieważ chociaż źródło było dostępne, nie pozwalała na redystrybucję zmodyfikowanych wersji. Trolltech używał tej licencji do wersji 1.45. Kontrowersje wybuchły około 1998 roku, kiedy stało się jasne, że K Desktop Environment stanie się jednym z wiodących środowisk graficznych dla Linuksa. Ponieważ był oparty na Qt, wiele osób w ruch wolnego oprogramowania martwił się, że kluczowy element jednego z ich głównych systemów operacyjnych będzie zastrzeżony.
Platforma Windows była dostępna tylko na licencji zastrzeżonej, co oznaczało, że darmowe/otwarte aplikacje napisane w Qt dla X11 nie mogły zostać przeniesione do systemu Windows bez zakupu zastrzeżonej edycji.
Stawanie się przyjaznym dla wolnego oprogramowania
Wraz z wydaniem wersji 2.0 zestawu narzędzi w połowie 1999 r. Licencja została zmieniona na Q Public License (QPL), licencję wolnego oprogramowania , ale uznaną przez Free Software Foundation za niezgodną z GPL. Poszukiwano kompromisów między KDE i Trolltech, dzięki którym Qt nie byłby w stanie podlegać bardziej restrykcyjnej licencji niż QPL, nawet gdyby Trolltech został wykupiony lub zbankrutował. Doprowadziło to do powstania fundacji KDE Free Qt, która gwarantuje, że Qt będzie objęte licencją w stylu BSD jeśli w ciągu 12 miesięcy nie zostanie wydana żadna bezpłatna/otwarta wersja Qt.
W 2000 roku Qt/X11 2.2 został wydany na licencji GPL v2, co zakończyło wszelkie kontrowersje dotyczące kompatybilności z GPL .
Pod koniec 2001 roku Trolltech wypuścił Qt 3.0, który dodał obsługę systemu Mac OS X (obecnie znanego jako macOS ). Obsługa systemu Mac OS X była dostępna tylko w ramach zastrzeżonej licencji do czerwca 2003 r., kiedy to firma Trolltech wypuściła Qt 3.2 z obsługą systemu Mac OS X dostępną na licencji GPL.
W 2002 roku członkowie projektu KDE on Cygwin rozpoczęli przenoszenie bazy kodu Qt/X11 na licencji GPL do systemu Windows. Było to odpowiedzią na odmowę Trolltechu udzielenia licencji na Qt/Windows na licencji GPL z powodu tego, że Windows nie był platformą wolnego oprogramowania/otwartego oprogramowania. Projekt osiągnął rozsądny sukces, chociaż nigdy nie osiągnął jakości produkcyjnej.
Zostało to rozwiązane, gdy Trolltech wypuścił Qt 4.0 również dla Windows na licencji GPL w czerwcu 2005. Qt 4 obsługiwał ten sam zestaw platform w wersjach wolnego oprogramowania / open source, jak w edycji zastrzeżonej, więc jest to możliwe, z Qt 4.0 i nowszymi wydaniach, aby tworzyć bezpłatne/otwarte aplikacje na licencji GPL przy użyciu Qt na wszystkich obsługiwanych platformach. GPL v3 ze specjalnym wyjątkiem została później dodana jako dodatkowa opcja licencjonowania. Wyjątek GPL umożliwia licencjonowanie ostatecznej aplikacji w ramach różnych niezgodnych z GPL wolnego oprogramowania / open source , takich jak Mozilla Public License 1.1.
Przejęcie przez Nokię
Nokia przejęła Trolltech ASA 17 czerwca 2008 r. I zmieniła nazwę najpierw na Qt Software, a następnie na Qt Development Frameworks.
Nokia skupiła się na przekształceniu Qt w główną platformę programistyczną dla swoich urządzeń, włączając w to port na platformę Symbian S60 . Wersja 1.0 pakietu Nokia Qt SDK została wydana 23 czerwca 2010 r. Kod źródłowy został udostępniony w Gitorious, zorientowanym na społeczność git , w celu stworzenia szerszej społeczności używającej i ulepszającej Qt.
14 stycznia 2009 r. Qt w wersji 4.5 dodał kolejną opcję, LGPL , aby uczynić Qt bardziej atrakcyjnym zarówno dla projektów open source innych niż GPL, jak i zamkniętych aplikacji.
W lutym 2011 roku Nokia ogłosiła swoją decyzję o porzuceniu technologii Symbian i oparciu swoich przyszłych smartfonów na platformie Windows Phone (i od tego czasu zrezygnowano również z obsługi tej platformy). Miesiąc później Nokia ogłosiła sprzedaż komercyjnych licencji i profesjonalnych usług Qt firmie Digia, z natychmiastowym celem wprowadzenia obsługi Qt na platformy Android , iOS i Windows 8 oraz dalszego skupiania się na rozwoju komputerów stacjonarnych i systemów wbudowanych, chociaż Nokia miała pozostać główną siłą rozwojową stojącą za ramami w tamtym czasie.
Łączenie i dzielenie z Digia
W marcu 2011 roku Nokia sprzedała komercyjną część licencyjną Qt firmie Digia, tworząc Qt Commercial. W sierpniu 2012 r. Digia ogłosiła, że przejmie Qt od firmy Nokia. Zespół Qt w firmie Digia rozpoczął pracę we wrześniu 2012 roku. W ciągu miesiąca wydawali Qt 5.0, a nowsze wersje co pół roku z nowymi funkcjami i dodatkowymi obsługiwanymi platformami.
We wrześniu 2014 r. Digia przeniosła działalność Qt i prawa autorskie do swojej spółki zależnej, The Qt Company, która jest właścicielem 25 marek związanych z Qt. W maju 2016 r. Digia i Qt całkowicie podzieliły się na dwie niezależne firmy.
Projekt Qt i otwarte zarządzanie
Qt 5 został oficjalnie wydany 19 grudnia 2012 r. Ta nowa wersja oznaczała poważną zmianę na platformie, w której główną rolę odgrywała grafika przyspieszana sprzętowo, QML i JavaScript . Tradycyjne widżety QWidget tylko w języku C++ były nadal obsługiwane, ale nie korzystały z ulepszeń wydajności dostępnych dzięki nowej architekturze. Qt 5 przynosi znaczną poprawę szybkości i łatwości tworzenia interfejsów użytkownika.
Ramowy rozwój Qt 5 został przeniesiony do otwartego zarządzania na qt-project.org, co umożliwiło programistom spoza Digii przesyłanie poprawek do recenzji.
Współtwórcy Qt
Oprócz The Qt Company, wiele organizacji i osób używających Qt jako platformy programistycznej uczestniczy w otwartym rozwoju Qt poprzez Qt Project.
Jednym z takich dostawców Qt jest Klarälvdalens Datakonsult AB, szwedzka firma konsultingowa Qt. KDAB jest zaangażowany w wiele obszarów, w tym konserwację kilku komponentów.
Wraz z RIM/BlackBerry , KDAB utrzymuje porty QNX i BlackBerry 10 Qt.
Innym uczestnikiem jest firma Intel , udzielająca na przykład wsparcia Wayland . AudioCodes utrzymuje obsługę IBM ClearCase w Qt Creator .
Jako intensywny użytkownik Qt, projekt KDE przesyła wiele poprawek i funkcji z biblioteki programistów KDE Frameworks z powrotem do Qt.
Zobacz też
- Lista zestawów narzędzi widżetów
- Rozwój oprogramowania na Androida
- SDK dla iOS
- Wt (zestaw narzędzi internetowych)
Bibliografia
Qt Wiki zawiera obszerną listę angielskich książek o Qt. Oto lista znanych książek:
- Bocklage-Ryannel, Juergen; Thelin, Johan (12 maja 2015). „Qt 5 Cadaques” (wyd. 1).
- Blanchette, Jasmin; Summerfield, Mark (14 lutego 2008). C++ GUI Programowanie z Qt 4 (wyd. 2). Sala Prentice'a . ISBN 978-0-13-235416-5 .
- Summerfield, Mark (23 sierpnia 2010). Zaawansowane programowanie w Qt: tworzenie świetnego oprogramowania za pomocą C ++ i Qt 4 (wyd. 1). Addison-Wesley . ISBN 978-0-321-63590-7 .
- Fitzek, Frank HP; Mikkonen, Tommi; Torp, Tony (17 maja 2010). Qt dla Symbiana (wyd. 1). Wiley'a _ ISBN 978-0-470-75010-0 . Zarchiwizowane od oryginału w dniu 19 grudnia 2009 r.
- Summerfield, Mark (28 października 2007). Szybkie programowanie GUI w Pythonie i Qt (wyd. 1). Sala Prentice'a . ISBN 978-0-13-235418-9 .
- Molkentin, Daniel (19 lipca 2007). Księga Qt 4: Sztuka budowania aplikacji Qt (wyd. 1). Prasa bez skrobi . ISBN 978-1-59327-147-3 .
- Thelin, Johan (3 sierpnia 2007). Podstawy rozwoju Qt (wyd. 1). Apress . ISBN 978-1-59059-831-3 . Zarchiwizowane od oryginału w dniu 20 stycznia 2015 r . Źródło 18 czerwca 2015 r .
- Dalheimer, Matthias (styczeń 2002). Programowanie w Qt (wyd. 2). O'Reilly Media . ISBN 978-0-596-00064-6 .
- Ezust, Alan; Ezust, Paweł (10 września 2006). Wprowadzenie do wzorców projektowych w C++ z Qt 4 (wyd. 2). Sala Prentice'a . ISBN 978-0-13-187905-8 .
Linki zewnętrzne
- Oprogramowanie z 1992 roku
- Interfejsy programowania aplikacji
- Biblioteki C++
- Tworzenie wieloplatformowych aplikacji desktopowych
- Oprogramowanie wieloplatformowe
- Wcześniej zastrzeżone oprogramowanie
- Darmowe biblioteki komputerowe
- Darmowe oprogramowanie napisane w C++
- KDE
- Qt (oprogramowanie)
- Oprogramowanie korzystające z licencji LGPL
- Zestawy narzędzi widżetów
- Biblioteki oparte na X