Qt

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. május 22-én felülvizsgált verziótól ; az ellenőrzések 49 szerkesztést igényelnek .
Qt

Pillanatkép a Qt Creator IDE 6.0.2-es verziójáról
Típusú keretrendszer
Szerző Haavard Nord [d] [1]és Eirik Chambe-Eng [d] [1]
Fejlesztők

Trolltech (1991-2008)

Nokia (2008–2011)

Qt Project (2011 -?)

Digia (2012–2014)

The Qt Company (2014 - jelen)
Beírva C++ [2]
Operációs rendszer GNU/Linux [3] , Microsoft Windows [3] , macOS [3] , BSD [3] , Android [3] és iOS [3]
Első kiadás 1995. május 20
legújabb verzió
Olvasható fájlformátumok Qt üzenet [d] , Qt felhasználói felület [d] , Qt fordítási forrásfájl [d] , Qt Assistant dokumentációs profil [d] , Qt Assistant tartalomfájl [d] , Qt erőforrásgyűjtemény [d] és Qt Jambi felhasználói felület [d ] ] ]
Generált fájlformátumok Qt üzenet [d] , Qt felhasználói felület [d] , Qt fordítási forrásfájl [d] , Qt Assistant dokumentációs profil [d] , Qt Assistant tartalomfájl [d] , Qt erőforrásgyűjtemény [d] és Qt Jambi felhasználói felület [d ] ] ]
Engedély LGPL-3.0 [d] [3][5],GNU GPL 2[3]ésGNU GPL 3[3]
Weboldal qt.io
 Médiafájlok a Wikimedia Commons oldalon

A Qt ( IPA [ ˈ k j u ː t ], ejtsd ( kyut ) "aranyos" [6] vagy informálisan QT (q-ti, ku-te, kyu-te) egy keretrendszer a platformok közötti szoftverek fejlesztéséhez C ++ programozási nyelv Számos programozási nyelvhez létezik könyvtár, amely lehetővé teszi a Qt előnyeinek kihasználását: Python  - PyQt , PySide , Ruby  - QtRuby [7] , Java  - Qt Jambi [8] , PHP  - PHP-Qt és mások.

1996 -os megalakulása óta a könyvtár számos szoftverprojekt alapját képezte. Ezenkívül a Qt a népszerű KDE asztali környezet alapja, amelyet számos Linux disztribúció tartalmaz .

Funkciók és összetétel

A Qt lehetővé teszi a vele írt szoftverek futtatását a legtöbb modern operációs rendszeren úgy, hogy egyszerűen lefordítja a programot minden rendszerhez a forráskód megváltoztatása nélkül . Tartalmazza az összes főbb osztályt , amelyre az alkalmazásszoftverek fejlesztése során szükség lehet , a grafikus interfész elemektől a hálózattal , adatbázisokkal és XML - lel való munkához szükséges osztályokig . Teljesen objektum-orientált, bővíthető, és támogatja a komponens programozási technikákat.

Megkülönböztető jellemzője a meta-objektum fordító – egy előzetes forráskód-feldolgozó rendszer – használata. A képességek bővítését közvetlenül a vizuális szerkesztő panelen elhelyezhető beépülő modulok rendszere biztosítja. Lehetőség van a widgetek megszokott funkcionalitásának kiterjesztésére is, amely a képernyőre helyezéssel, megjelenítéssel, újrarajzolással jár az ablak átméretezésekor.

A Qt Designer grafikus felülethez tartozik egy vizuális fejlesztőkörnyezet , amely lehetővé teszi párbeszédpanelek és űrlapok létrehozását WYSIWYG módban . A Qt disztribúció tartalmazza a Qt Linguist  nevű grafikus segédprogramot, amely leegyszerűsíti a programok lokalizálását és fordítását számos nyelvre; és a Qt Assistant  , egy Qt súgórendszer, amely megkönnyíti a könyvtári dokumentációval való munkát, és lehetővé teszi a Qt-re épülő szoftverek platformok közötti súgójának létrehozását is. A 4.5.0-s verziótól kezdődően tartalmazza a Qt Creator fejlesztői környezetet , amely kódszerkesztőt , súgót, Qt Designer grafikus eszközöket és alkalmazások hibakeresési lehetőségét tartalmazza. A Qt Creator használhatja a GCC -t vagy a Microsoft VC++-t fordítóként és a GDB -t hibakeresőként. Windows-verziók esetén a könyvtárhoz tartozik egy fordító, a MinGW fejléc és az objektumfájlok .

A könyvtárnak léteznek verziói Microsoft Windows , UNIX osztályú X11 grafikával rendelkező rendszerek , Android , iOS , Mac OS X , Microsoft Windows CE , QNX [9] , beágyazott Linux rendszerek és S60 platform számára . A portolás Windows Phone és Windows RT rendszerre folyamatban van [10] [11] . A Haiku és Tizen áthelyezése is folyamatban van .

A könyvtárat egy ideig a beágyazott és mobil eszközökön való használatra szánt Qt/Embedded változatban is terjesztették, de a 2000-es évek közepe óta egy független Qtopia termékké vált .

A 4.5-ös verziótól kezdődően a Qt három licenc alatt kerül terjesztésre:

A forráskód, amely minden licencopcióhoz ugyanaz, szabadon elérhető a Githubon található Git -tárban . A Qt forráskódon kívül a kapcsolódó könyvtárak tárházai is találhatók, amelyeket a könyvtár és a közösség szerzői fejlesztettek ki.

A 4.0.0-s verzió előtt csak a Qt/Mac, Qt/X11, Qt/Embedded volt terjesztve ingyenes licenc alatt, de a 4.0.0-tól ( 2005. június végén jelent meg ) a Qt Software "felszabadult" és a Qt. /Ablakok. Ugyanakkor voltak a Qt / Windows 4.0.0-nál korábbi, harmadik féltől származó ingyenes verziói, amelyek a Qt / X11 alapján készültek.

Támogatott platformok

A Qt sokféle platformon fut; a következőket hivatalosan támogatják:

Felület Leírás
Linux/Unix
X11 Qt az X ablakkezelőhöz ( Linux , FreeBSD , HP-UX , Solaris , AIX stb.). [12]
Wayland Qt a Wayland számára . [13] A Qt-alkalmazások a -platform parancssori opció hozzáadásával válthatnak a grafikus háttérrendszerek, például az X és a Wayland között indításkor . [14] [15] Ez lehetővé teszi, hogy az alkalmazások csendesen áttérjenek az X11-ről a Waylandre.
Beágyazott Linux rendszerek Qt beágyazott rendszerekhez: PDA -k , okostelefonok stb. [16] A renderelési technológiától függően több platformon is létezik. DirectFB , LinuxFB és EGLFS ( EGL teljes képernyő).
Android Qt for Android [17] , korábban Necessitas néven. [tizennyolc]
Apple platformok
OS X Qt Apple OS X rendszerhez ; támogatja a kakaó alkalmazásokat . [19]
iOS Qt iOS platformokhoz ( iPhone , iPad ). [húsz]
Microsoft platformok
ablakok Qt Microsoft Windows XP , Vista , 7 , [21] 8 és 10 rendszerhez . [22]
Windows CE Qt Windows CE 6 és Windows Embedded Compact 7 rendszerhez . [23]
Windows RT WinRT - alapú alkalmazások támogatása Windows 8 és Windows Phone 8 rendszerhez [24] . 5.4-es verziótól: Windows Phone 8.1 . [25]
Egyéb beágyazott platformok
Sértetlenség Qt az integritásért . [26]
QNX Qt a QNX -hez . [27]
VxWorks Qt a VxWorks számára . [28]

Miután a Nokia kiadta a Qt forráskódot a közösségnek a Gitorious oldalon , különböző portok jelentek meg. Vannak olyan portok is, amelyek rendelkezésre állnak, de már nem támogatottak.

Összetevők

A könyvtár több modulra oszlik:

Valamint megvalósul a WoC technológia - widgetek vásznon, melynek segítségével a Plasma a KDE 4.1-ben valósul meg, így a Qt könyvtári widgetek közvetlenül kisalkalmazásokban is használhatók lesznek. Elrendezést biztosít a widgetek számára a QGraphicsView-n, skálázhatósággal és különféle grafikus effektusokkal.

A könyvtár saját projektformátumot, úgynevezett .pro fájlt használ, amely információkat tartalmaz arról, hogy mely fájlok kerülnek lefordításra, a fejlécfájlok keresésének útvonalai és sok egyéb információ. Ezt követően a qmake segédprogram segítségével makefile-t készítenek a fordító make segédprogramjához. A Microsoft Visual Studio 2003/2005/2008/2010 -es verziójával integrátorok segítségével is lehet dolgozni . Az Eclipse - be való integráció 2010 óta elavult.

A Java fejlesztők használhatják a Qt-t ugyanazon gyártó Qt Jambi keretrendszerével (hivatalosan 2009 óta a Qt Software leállította ennek a keretrendszernek a fejlesztését).

Dokumentáció

A Qt keretrendszer egyik előnye a részletes dokumentáció [30] [31] , amelyet nagyszámú példa kísér. A példák forráskódja részletes megjegyzéseket és leírásokat tartalmaz, ami a Qt megtanulását is megkönnyíti.

Használat

A Qt-t az Autodesk Maya , [32] [33] , Skype , Telegram , VLC Media Player [34] , VirtualBox , Mathematica [35] , Európai Űrügynökség [36] , DreamWorks [37] [38] , Google , HP használja . [39] , Lucasfilm [40] , Panasonic [41] , Philips [42] , Samsung [43] , Siemens [44] , Volvo [45] és Walt Disney Animation Studios , CAO [46] , Google Earth , CherryPlayer médialejátszó .

Ezenkívül a KDE asztali környezet, a MeeGo mobil operációs rendszer grafikus felülete és a Qt Creator  , egy Qt fejlesztői környezet Qt-n alapul;

Meta-objektum rendszer

A meta-objektum rendszer  része a C++ funkciók, példáulaz objektumok közötti valós idejű kommunikációt és a rendszer dinamikus tulajdonságait biztosító jelek és slotok támogatására szolgáló alapvető keretrendszernek.

A meta-objektum rendszer tartalmaz: egy osztályt QObject, egy makrót Q_OBJECTés egy segédprogramot moc(meta-objektum fordító). QObject az összes Qt osztály alaposztálya. A makró Q_OBJECTa meta-objektum függvények engedélyezésére szolgál az osztályokban, és fordítási időben előfeldolgozóként működik, amely a makróalkalmazásokat C++ forráskóddá alakítja.

Jegyzetek

  1. 1 2 https://my.safaribooksonline.com/0131872494/pref04
  2. A qt nyílt forráskódú projekt az Open Hubon: Nyelvek oldal - 2006.
  3. 1 2 3 4 5 6 7 8 9 Ingyenes szoftverek könyvtára
  4. https://www.qt.io/blog/qt-6.4-released
  5. http://trolltech.com/company/newsroom/announcements/press.2008-01-18.1601592972
  6. Interjú a Trolltech Eirik Enggel és Matthias Ettrich-hel  (angolul)  (a hivatkozás nem elérhető) (2004. április 12.). Hozzáférés dátuma: 2011. december 16. Az eredetiből archiválva : 2012. február 3.
  7. アーカイブされたコピー(nem elérhető link) . Letöltve: 2007. augusztus 3. Az eredetiből archiválva : 2007. augusztus 9.. 
  8. http://www.qtsoftware.com/products/qt/jambi/  (lefelé mutató hivatkozás)
  9. Qt keretrendszer a QNX -hez Archiválva : 2011. november 2. a Wayback Machine -nél 
  10. I4352629a változás: Windows RT és Windows Phone előzetes támogatás Archivált 2013. október 23. a Wayback Machine -nél 
  11. A Qt WinRT portja és C++/CX használata Archivált : 2013. október 29.  (Angol)
  12. Qt Wiki – Linux/X11 támogatása . Qt Project (2011. augusztus 12.). Letöltve: 2013. augusztus 21. Az eredetiből archiválva : 2015. május 1..
  13. Jørgen Lind. Többfolyamatos világítótorony . Qt Project (2011. március 18.). Letöltve: 2013. augusztus 21. Az eredetiből archiválva : 2015. június 18..
  14. A Lighthouse használatának első lépései . Letöltve: 2011. november 25. Az eredetiből archiválva : 2015. április 27..
  15. Kristian Hogsberg. Add hozzá a wayland lighthouse plugint (nem elérhető link) (2011. január 25.). Archiválva az eredetiből 2016. február 3-án. 
  16. Qt Wiki – Beágyazott Linux támogatása . Qt Project (2011. augusztus 12.). Letöltve: 2015. április 10. Az eredetiből archiválva : 2015. május 1..
  17. Új funkciók a Qt 5.1-ben – Új platformok támogatása . Digia (2013. július 3.). Letöltve: 2015. április 10. Az eredetiből archiválva : 2015. április 23..
  18. Necessitas projekt (downlink) . Letöltve: 2015. április 10. Az eredetiből archiválva : 2016. február 20. 
  19. Qt Wiki – OS X támogatása. Qt Project (2011. augusztus 14.). Letöltve: 2013. augusztus 21. Az eredetiből archiválva : 2015. április 30..
  20. Támogatott platformok . Letöltve: 2014. február 1. Az eredetiből archiválva : 2014. december 26..
  21. Qt Wiki – Windows támogatás . Qt Project (2011. augusztus 11.). Letöltve: 2013. augusztus 11. Az eredetiből archiválva : 2015. április 30..
  22. Windows 10 támogatás a Qt-ben . Qt Company (2015. április 29.). Hozzáférés időpontja: 2016. január 28. Az eredetiből archiválva : 2016. január 19.
  23. Bjoern Breitmeyer. A WinCE támogatás állapota a Qt5-ben . KDAB (2013. augusztus 21.). Letöltve: 2013. augusztus 21. Az eredetiből archiválva : 2015. június 18..
  24. Qt a WinRT-hez . Qt Project . Letöltve: 2014. szeptember 9. Az eredetiből archiválva : 2019. július 14.
  25. Új funkciók a Qt 5.4 - Qt Wikiben . Hozzáférés dátuma: 2016. február 28. Az eredetiből archiválva : 2016. február 29.
  26. Qt termékoldalak, Támogatott platformok . Qt - Termék - Qt keretrendszer . A Qt Társaság. Letöltve: 2014. november 21. Az eredetiből archiválva : 2014. november 20.
  27. Qt Blog. A Qt Commercial formálisan támogatja a QNX | Qt Blog (hivatkozás nem érhető el) . blog.qt.digia.com. Letöltve: 2013. március 19. Az eredetiből archiválva : 2013. október 8.. 
  28. Qt Blog. Qt Commercial for VxWorks | Qt Blog (hivatkozás nem érhető el) . blog.qt.digia.com. Letöltve: 2013. március 19. Az eredetiből archiválva : 2014. április 19.. 
  29. QtWebEngine/ChromiumVersions - Qt Wiki . wiki.qt.io. _ Letöltve: 2022. augusztus 24.
  30. Jono Bacon. Vélemények : Qt  . Mactech (2004). Hozzáférés dátuma: 2010. szeptember 16. Az eredetiből archiválva : 2011. augusztus 23.
  31. Online referenciadokumentáció  (eng.)  (hozzáférhetetlen hivatkozás) . Nokia . Hozzáférés dátuma: 2010. szeptember 16. Az eredetiből archiválva : 2011. augusztus 23.
  32. Qt az Autodeskben (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  33. Qt vizuális effektusokban (downlink) . Archiválva az eredetiből 2012. február 3-án. 
  34. Qt a VideoLan Playerben (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  35. A Qt fejlett, többplatformos C++ GUI-t szállított a Mathematica fejlesztőcsapatának (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  36. Qt az Európai Űrügynökségben (nem elérhető link) . Archiválva az eredetiből 2012. február 3-án. 
  37. A DreamWorks Animation kulisszái mögött: A filmeket készítő alkalmazások készítése (lefelé mutató link) . Archiválva az eredetiből 2012. február 3-án. 
  38. UI és rendszertervezési kihívások az NxG Lighting Tool számára (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  39. Innovatív asztali és beágyazott HP termékek fejlesztése Qt-vel (hivatkozás nem érhető el) . Archiválva az eredetiből 2012. február 3-án. 
  40. Lucasfilm Entertainment Company Ltd. (nem elérhető link) . Archiválva az eredetiből 2012. február 3-án. 
  41. A Panasonic a Qt-t választja a HD videorendszerhez (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  42. Qt az IP-kommunikációban (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  43. Qt a Home Media-ban (lefelé irányuló kapcsolat) . Archiválva az eredetiből 2012. február 3-án. 
  44. A Qt segített a Siemensnek egy C++ fejlesztői platform létrehozásában szoftveres grafikus felhasználói felületek (downlink) gyártásához . Archiválva az eredetiből 2012. február 3-án. 
  45. Volvo Mobility Systems (elérhetetlen link) . Archiválva az eredetiből 2012. február 3-án. 
  46. A Qt segített a Walt Disney-nek lecsökkenteni a többplatformos játékfilm-gyártási alkalmazására fordított fejlesztési időt (downlink) . Archiválva az eredetiből 2012. február 3-án. 

Irodalom

Linkek