Qt

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 22. května 2018; kontroly vyžadují 49 úprav .
Qt

Snímek Qt Creator IDE verze 6.0.2
Typ rámec
Autor Haavard Nord [d] [1]a Eirik Chambe-Eng [d] [1]
Vývojáři

Trolltech (1991–2008)

Nokia (2008–2011)

Projekt Qt (2011 – ?)

Digia (2012–2014)

The Qt Company (2014 – současnost)
Zapsáno v C++ [2]
Operační systém GNU/Linux [3] , Microsoft Windows [3] , macOS [3] , BSD [3] , Android [3] a iOS [3]
První vydání 20. května 1995
Nejnovější verze
Čitelné formáty souborů Qt Message [d] , Qt User Interface [d] , Qt Translation zdrojový soubor [d] , Qt Assistant Documentation Profile [d] , Qt Assistant Content File [d] , Qt Resource Collection [d] a Qt Jambi User Interface [d ]]
Vygenerované formáty souborů Qt Message [d] , Qt User Interface [d] , Qt Translation zdrojový soubor [d] , Qt Assistant Documentation Profile [d] , Qt Assistant Content File [d] , Qt Resource Collection [d] a Qt Jambi User Interface [d ]]
Licence LGPL-3.0 [d] [3][5],GNU GPL 2[3]aGNU GPL 3[3]
webová stránka qt.io
 Mediální soubory na Wikimedia Commons

Qt ( IPA [ ˈ k j u ː t ], vyslovováno ( kyut ) jako „roztomilé“ [6] nebo neformálně QT (q-ti, ku-te, kyu-te) je rámec pro vývoj multiplatformního softwaru v Programovací jazyk C ++ Existují knihovny pro mnoho programovacích jazyků, které vám umožňují využívat výhody Qt: Python  - PyQt , PySide , Ruby  - QtRuby [7] , Java  - Qt Jambi [8] , PHP  - PHP-Qt a ostatní.

Od svého založení v roce 1996 knihovna vytvořila základ mnoha softwarových projektů. Kromě toho je Qt základem oblíbeného desktopového prostředí KDE , které je součástí mnoha distribucí Linuxu .

Funkce a složení

Qt vám umožňuje spouštět software s ním napsaný na většině moderních operačních systémů jednoduchým zkompilováním programu pro každý systém beze změny zdrojového kódu . Zahrnuje všechny hlavní třídy , které mohou být vyžadovány při vývoji aplikačního softwaru , od prvků grafického rozhraní po třídy pro práci se sítí , databázemi a XML . Je plně objektově orientovaný, rozšiřitelný a podporuje techniky programování komponent.

Charakteristickým rysem je použití metaobjektového kompilátoru - předběžného systému zpracování zdrojového kódu. Rozšíření schopností zajišťuje systém zásuvných modulů, které lze umístit přímo do panelu vizuálního editoru. Nechybí ani možnost rozšíření známé funkcionality widgetů spojené s jejich umístěním na obrazovku, zobrazením, překreslením při změně velikosti okna.

Dodává se s vizuálním vývojovým prostředím pro grafické rozhraní Qt Designer , které vám umožňuje vytvářet dialogy a formuláře v režimu WYSIWYG . Distribuce Qt zahrnuje Qt Linguist  , grafický nástroj, který zjednodušuje lokalizaci a překlad programu do mnoha jazyků; a Qt Assistant  , systém nápovědy Qt, který usnadňuje práci s dokumentací knihovny a také vám umožňuje vytvářet nápovědu pro různé platformy pro software vyvinutý na základě Qt. Počínaje verzí 4.5.0 je zahrnuto vývojové prostředí Qt Creator , které zahrnuje editor kódu , nápovědu, grafické nástroje Qt Designer a schopnost ladit aplikace. Qt Creator může používat GCC nebo Microsoft VC++ jako kompilátor a GDB jako debugger. Pro verze Windows je knihovna dodávána s kompilátorem, hlavičkou MinGW a objektovými soubory .

Existují verze knihovny pro Microsoft Windows , systémy třídy UNIX s grafikou X11 , Android , iOS , Mac OS X , Microsoft Windows CE , QNX [9] , vestavěné systémy Linux a platformu S60 . Probíhá portování na Windows Phone a Windows RT [10] [11] . Portování na Haiku a Tizen je také v plném proudu .

Nějakou dobu byla knihovna distribuována také ve verzi Qt/Embedded, určené pro použití na embedded a mobilních zařízeních, ale od poloviny 2000 byla oddělena do samostatného produktu Qtopia .

Počínaje verzí 4.5 je Qt distribuován pod třemi licencemi:

Zdrojový kód, který je stejný pro všechny možnosti licence, je volně dostupný v úložišti Git umístěném na Github . Kromě samotného zdrojového kódu Qt existují také repozitáře souvisejících knihoven vyvinuté autory knihovny a komunitou.

Před verzí 4.0.0 byly pod svobodnou licencí distribuovány pouze Qt/Mac, Qt/X11, Qt/Embedded, ale od verze 4.0.0 (vydané na konci června 2005 ) byl software Qt „osvobozen“ a Qt /Okna. Ve stejné době existovaly bezplatné verze Qt / Windows od třetích stran starší než 4.0.0, vyrobené na základě Qt / X11.

Podporované platformy

Qt běží na široké škále platforem; jsou oficiálně podporovány:

Plošina Popis
Linux/Unix
X11 Qt pro správce oken X ( Linux , FreeBSD , HP-UX, Solaris, AIX atd.). [12]
Wayland Qt pro Wayland . [13] Aplikace Qt mohou přepínat mezi grafickými backendy, jako je X a Wayland, při spouštění přidáním volby -platform příkazového řádku. [14] [15] To umožňuje aplikacím tiše migrovat z X11 na Wayland.
Vestavěné systémy Linux Qt pro vestavěné systémy: PDA , chytré telefony atd. [16] Existuje na několika platformách v závislosti na technologii vykreslování. DirectFB , LinuxFB a EGLFS ( EGL Celá obrazovka).
Android Qt pro Android [17] dříve známý jako Necessitas. [osmnáct]
platformy Apple
OS X Qt pro Apple OS X ; podporuje aplikace Cocoa . [19]
iOS Qt pro platformy iOS ( iPhone , iPad ). [dvacet]
platformy Microsoft
Okna Qt pro Microsoft Windows XP , Vista , 7 , [21] 8 a 10 . [22]
Windows CE Qt pro Windows CE 6 a Windows Embedded Compact 7 . [23]
Windows RT Podpora aplikací založených na WinRT pro Windows 8 a Windows Phone 8 [24] . Od verze 5.4: Windows Phone 8.1 . [25]
Další vestavěné platformy
Integrita Qt pro integritu . [26]
QNX Qt pro QNX . [27]
VxWorks Qt pro VxWorks . [28]

Poté , co Nokia vydala zdrojový kód Qt komunitě na Gitorious , objevily se různé porty. Existují také některé porty, které mohou být dostupné, ale již nejsou podporovány.

Komponenty

Knihovna je rozdělena do několika modulů:

Implementována je také technologie WoC - widgety na plátně, s jejichž pomocí je Plasma implementována v KDE 4.1. Widgety knihovny Qt bude možné používat přímo v appletech. Poskytuje rozvržení pro widgety na QGraphicsView se škálovatelností a různými grafickými efekty.

Knihovna používá svůj vlastní formát projektu, nazvaný soubor .pro, který obsahuje informace o tom, které soubory budou zkompilovány, které cesty mají hledat hlavičkové soubory a mnoho dalších informací. Následně se pomocí nástroje qmake použijí k vytvoření souboru makefile pro nástroj make kompilátoru. S Microsoft Visual Studio 2003/2005/2008/2010 je také možné pracovat s pomocí integrátorů . Integrace do Eclipse je od roku 2010 zastaralá.

Vývojáři Java mohou používat Qt pomocí rámce Qt Jambi od stejného dodavatele (oficiálně od roku 2009 společnost Qt Software zastavila vývoj tohoto rámce).

Dokumentace

Jednou z výhod rámce Qt je podrobná dokumentace [30] [31] doplněná velkým množstvím příkladů. Zdrojový kód příkladů obsahuje podrobné komentáře a popisy, což také usnadňuje učení Qt.

Použití

Qt se používá v Autodesk Maya , [32] [33] , Skype , Telegram , VLC Media Player [34] , VirtualBox , Mathematica [35] , European Space Agency [36] , DreamWorks [37] [38] , Google , HP [ 39] , Lucasfilm [40] , Panasonic [41] , Philips [42] , Samsung [43] , Siemens [44] , Volvo [45] a Walt Disney Animation Studios , CAO [46] , Google Earth , přehrávač médií CherryPlayer .

Kromě toho jsou na Qt založeny desktopové prostředí KDE , GUI mobilního OS MeeGo a Qt Creator  , vývojové prostředí Qt;

Meta-objektový systém

Meta-objektový systém  je součástí základního rámce pro podporu funkcí C++, jako jsou signály a sloty pro komunikaci mezi objekty v reálném čase a dynamické vlastnosti systému.

Systém metaobjektů obsahuje: třídu QObject, makro Q_OBJECTa obslužný program moc(překladač metaobjektů). QObject je základní třída pro všechny třídy Qt. Makro Q_OBJECTse používá k aktivaci funkcí metaobjektů ve třídách a v době kompilace funguje jako preprocesor, který převádí makro aplikace do zdrojového kódu C++.

Poznámky

  1. 1 2 https://my.safaribooksonline.com/0131872494/pref04
  2. Projekt qt Open Source na Open Hub: Stránka jazyků - 2006.
  3. 1 2 3 4 5 6 7 8 9 Adresář svobodného softwaru
  4. https://www.qt.io/blog/qt-6.4-released
  5. http://trolltech.com/company/newsroom/announcements/press.2008-01-18.1601592972
  6. Rozhovor s Eirik Eng a Matthias Ettrich z Trolltech  (anglicky)  (odkaz není k dispozici) (12. dubna 2004). Datum přístupu: 16. prosince 2011. Archivováno z originálu 3. února 2012.
  7. アーカイブされたコピー(nedostupný odkaz) . Získáno 3. srpna 2007. Archivováno z originálu dne 9. srpna 2007. 
  8. http://www.qtsoftware.com/products/qt/jambi/  (odkaz dolů)
  9. Qt framework pro QNX Archivováno 2. listopadu 2011 na Wayback Machine 
  10. Změna I4352629a: Předběžná podpora Windows RT a Windows Phone Archivováno 23. října 2013 na Wayback Machine 
  11. WinRT port Qt a jeho využití v C++/CX Archivováno 29. října 2013.  (Angličtina)
  12. Qt Wiki – Podpora pro Linux/X11 . Projekt Qt (12. srpna 2011). Získáno 21. 8. 2013. Archivováno z originálu 1. 5. 2015.
  13. Jørgen Lind. Víceprocesový maják . Projekt Qt (18. března 2011). Získáno 21. srpna 2013. Archivováno z originálu 18. června 2015.
  14. Začínáme s Lighthouse . Získáno 25. listopadu 2011. Archivováno z originálu dne 27. dubna 2015.
  15. Kristian Hogsberg. Přidat plugin wayland maják (nedostupný odkaz) (25. ledna 2011). Archivováno z originálu 3. února 2016. 
  16. Qt Wiki - Podpora pro Embedded Linux . Projekt Qt (12. srpna 2011). Získáno 10. dubna 2015. Archivováno z originálu 1. května 2015.
  17. Nové funkce v Qt 5.1 – Podpora nových platforem . Digia (3. července 2013). Získáno 10. dubna 2015. Archivováno z originálu 23. dubna 2015.
  18. Necessitas project (downlink) . Získáno 10. dubna 2015. Archivováno z originálu 20. února 2016. 
  19. Qt Wiki – Podpora pro OS X. Projekt Qt (14. srpna 2011). Získáno 21. srpna 2013. Archivováno z originálu 30. dubna 2015.
  20. Podporované platformy . Získáno 1. února 2014. Archivováno z originálu 26. prosince 2014.
  21. Qt Wiki – Podpora pro Windows . Projekt Qt (11. srpna 2011). Získáno 11. srpna 2013. Archivováno z originálu 30. dubna 2015.
  22. Podpora Windows 10 v Qt . Společnost Qt (29. dubna 2015). Datum přístupu: 28. ledna 2016. Archivováno z originálu 19. ledna 2016.
  23. Bjoern Breitmeyer. Stav podpory WinCE v Qt5 . KDAB (21. srpna 2013). Získáno 21. srpna 2013. Archivováno z originálu 18. června 2015.
  24. Qt pro WinRT . Projekt Qt . Získáno 9. září 2014. Archivováno z originálu 14. července 2019.
  25. Nové funkce v Qt 5.4 - Qt Wiki . Datum přístupu: 28. února 2016. Archivováno z originálu 29. února 2016.
  26. Produktové stránky Qt, Podporované platformy . Qt - Product - Qt Framework . Společnost Qt. Získáno 21. listopadu 2014. Archivováno z originálu 20. listopadu 2014.
  27. Blog Qt. Qt Commercial formálně podporuje QNX | Qt Blog (odkaz není dostupný) . blog.qt.digia.com. Získáno 19. března 2013. Archivováno z originálu 8. října 2013. 
  28. Blog Qt. Qt Commercial pro VxWorks | Qt Blog (odkaz není dostupný) . blog.qt.digia.com. Získáno 19. března 2013. Archivováno z originálu 19. dubna 2014. 
  29. QtWebEngine/ChromiumVersions – Qt Wiki . wiki.qt.io. _ Staženo: 24. srpna 2022.
  30. Jono Bacon. Recenze : Qt  . Mactech (2004). Datum přístupu: 16. září 2010. Archivováno z originálu 23. srpna 2011.
  31. Online referenční dokumentace  (anglicky)  (nepřístupný odkaz) . Nokia . Datum přístupu: 16. září 2010. Archivováno z originálu 23. srpna 2011.
  32. Qt v Autodesku (downlink) . Archivováno z originálu 3. února 2012. 
  33. Qt ve vizuálních efektech (downlink) . Archivováno z originálu 3. února 2012. 
  34. Qt ve VideoLan Player (downlink) . Archivováno z originálu 3. února 2012. 
  35. Qt dodalo pokročilé, multiplatformní C++ GUI pro vývojový tým Mathematica (downlink) . Archivováno z originálu 3. února 2012. 
  36. Qt v Evropské vesmírné agentuře (nedostupný odkaz) . Archivováno z originálu 3. února 2012. 
  37. Zákulisí DreamWorks Animation: Tvorba aplikací, které vytvářejí filmy (odkaz dolů) . Archivováno z originálu 3. února 2012. 
  38. UI & System Design Challenges for NxG Lighting Tool (downlink) . Archivováno z originálu 3. února 2012. 
  39. Vývoj inovativních desktopových a vestavěných produktů HP s Qt (odkaz není k dispozici) . Archivováno z originálu 3. února 2012. 
  40. Lucasfilm Entertainment Company Ltd. (nedostupný odkaz) . Archivováno z originálu 3. února 2012. 
  41. Panasonic vybere Qt pro HD video systém (downlink) . Archivováno z originálu 3. února 2012. 
  42. Qt v IP komunikaci (downlink) . Archivováno z originálu 3. února 2012. 
  43. Qt v Home Media (downlink) . Archivováno z originálu 3. února 2012. 
  44. Qt pomohl společnosti Siemens dodat vývojovou platformu C++ pro výrobu softwarových GUI (downlink) . Archivováno z originálu 3. února 2012. 
  45. Volvo Mobility Systems (nepřístupný odkaz) . Archivováno z originálu 3. února 2012. 
  46. Qt pomohlo Waltu Disneymu zkrátit čas strávený vývojem jeho multiplatformní aplikace pro produkci celovečerních filmů (downlink) . Archivováno z originálu 3. února 2012. 

Literatura

Odkazy