Qt

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 22. toukokuuta 2018 tarkistetusta versiosta . tarkastukset vaativat 49 muokkausta .
Qt

Tilannekuva Qt Creator IDE -versiosta 6.0.2
Tyyppi puitteet
Tekijä Haavard Nord [d] [1]ja Eirik Chambe-Eng [d] [1]
Kehittäjät

Trolltech (1991–2008)

Nokia (2008–2011)

Qt-projekti (2011 -?)

Digia (2012–2014)

The Qt Company (2014 - nykyinen)
Sisään kirjoitettu C++ [2]
Käyttöjärjestelmä GNU/Linux [3] , Microsoft Windows [3] , macOS [3] , BSD [3] , Android [3] ja iOS [3]
Ensimmäinen painos 20. toukokuuta 1995
uusin versio
Luettavat tiedostomuodot Qt-viesti [d] , Qt-käyttöliittymä [d] , Qt-käännöslähdetiedosto [d] , Qt Assistantin dokumentaatioprofiili [d] , Qt Assistantin sisältötiedosto [d] , Qt-resurssikokoelma [d] ja Qt Jambi -käyttöliittymä [d ] ] ]
Luodut tiedostomuodot Qt-viesti [d] , Qt-käyttöliittymä [d] , Qt-käännöslähdetiedosto [d] , Qt Assistantin dokumentaatioprofiili [d] , Qt Assistantin sisältötiedosto [d] , Qt-resurssikokoelma [d] ja Qt Jambi -käyttöliittymä [d ] ] ]
Lisenssi LGPL-3.0 [d] [3][5],GNU GPL 2[3]jaGNU GPL 3[3]
Verkkosivusto qt.io
 Mediatiedostot Wikimedia Commonsissa

Qt ( IPA [ ˈ k j u ː t ], lausutaan ( kyut ) "söpöksi" [6] tai epämuodollisesti QT (q-ti, ku-te, kyu-te) on puitteet monikäyttöisten ohjelmistojen kehittämiseen C ++ -ohjelmointikieli Monille ohjelmointikielille on kirjastoja, joiden avulla voit hyödyntää Qt: tä: Python  - PyQt , PySide , Ruby  - QtRuby [7] , Java  - Qt Jambi [8] , PHP  - PHP-Qt ja muut.

Perustamisestaan ​​vuonna 1996 lähtien kirjasto on ollut perusta monille ohjelmistoprojekteille. Lisäksi Qt on suositun KDE-työpöytäympäristön perusta, joka sisältyy moniin Linux-jakeluihin .

Toiminnot ja koostumus

Qt antaa sinun ajaa sillä kirjoitettuja ohjelmistoja useimmissa nykyaikaisissa käyttöjärjestelmissä yksinkertaisesti kääntämällä ohjelma jokaiselle järjestelmälle muuttamatta lähdekoodia . Sisältää kaikki pääluokat , joita voidaan tarvita sovellusohjelmistojen kehittämisessä , aina graafisista käyttöliittymäelementeistä verkon , tietokantojen ja XML :n kanssa työskentelyyn tarkoitettuihin luokkiin . Se on täysin oliosuuntautunut, laajennettavissa ja tukee komponenttien ohjelmointitekniikoita.

Erottuva piirre on meta-objektien kääntäjän käyttö - alustava lähdekoodinkäsittelyjärjestelmä. Ominaisuuksien laajentamisen tarjoaa laajennusjärjestelmä, joka voidaan sijoittaa suoraan visuaaliseen muokkauspaneeliin. On myös mahdollisuus laajentaa widgetien tuttuja toimintoja, jotka liittyvät niiden sijoittamiseen näytölle, näyttämiseen ja uudelleenpiirtämiseen, kun ikkunan kokoa muutetaan.

Sen mukana tulee visuaalinen kehitysympäristö graafiselle käyttöliittymälle Qt Designer , jonka avulla voit luoda dialogeja ja lomakkeita WYSIWYG - tilassa . Qt-jakelu sisältää Qt Linguist  , graafisen apuohjelman, joka yksinkertaistaa ohjelman lokalisointia ja kääntämistä monille kielille; ja Qt Assistant  , Qt-apujärjestelmä, joka helpottaa työskentelyä kirjaston dokumentaation kanssa ja mahdollistaa myös useiden alustojen ohjeen luomisen Qt:hen perustuville ohjelmistoille. Versiosta 4.5.0 alkaen mukana on Qt Creator -kehitysympäristö , joka sisältää koodieditorin , ohjeen, Qt Designerin graafiset työkalut ja mahdollisuuden suorittaa sovellusten virheenkorjaus. Qt Creator voi käyttää GCC :tä tai Microsoft VC++:aa kääntäjänä ja GDB :tä debuggerina. Windows-versioissa kirjastossa on kääntäjä, MinGW -otsikko ja objektitiedostot .

Kirjastosta on versioita Microsoft Windowsille , UNIX - luokan järjestelmille X11 - grafiikalla , Androidille , iOS :lle , Mac OS X :lle , Microsoft Windows CE :lle , QNX :lle [9] , sulautetuille Linux-järjestelmille ja S60 -alustalle . Portointi Windows Phonelle ja Windows RT:lle on käynnissä [10] [11] . Myös siirtäminen Haikulle ja Tizenille on käynnissä .

Kirjastoa jaettiin jonkin aikaa myös sulautetuille ja mobiililaitteille tarkoitettuna Qt/Embedded-versiona, mutta 2000-luvun puolivälistä lähtien se on erotettu itsenäiseksi tuotteeksi Qtopia .

Versiosta 4.5 alkaen Qt jaetaan kolmella lisenssillä:

Lähdekoodi, joka on sama kaikille lisenssivaihtoehdoille, on vapaasti saatavilla Githubin arkistossa . Itse Qt-lähdekoodin lisäksi siellä on myös kirjaston tekijöiden ja yhteisön kehittämiä aiheeseen liittyviä kirjastoja.

Ennen versiota 4.0.0 vain Qt/Mac, Qt/X11, Qt/Embedded jaettiin ilmaisella lisenssillä, mutta versiosta 4.0.0 (julkaistu kesäkuun 2005 lopussa ) alkaen Qt Software "vapautettiin" ja Qt /Windows. Samaan aikaan Qt / Windowsista oli olemassa kolmannen osapuolen ilmaisia ​​versioita, jotka olivat vanhempia kuin 4.0.0, jotka tehtiin Qt / X11:n perusteella.

Tuetut alustat

Qt toimii useilla eri alustoilla; seuraavat ovat virallisesti tuettuja:

Alusta Kuvaus
Linux/Unix
X11 Qt X-ikkunanhallinnassa ( Linux , FreeBSD , HP-UX , Solaris , AIX jne.). [12]
Wayland Qt Waylandille . [13] Qt-sovellukset voivat vaihtaa graafisten taustaohjelmien, kuten X ja Wayland, välillä käynnistyksen yhteydessä lisäämällä -platform komentorivivalinnan. [14] [15] Tämä mahdollistaa sovellusten hiljaisen siirtymisen X11:stä Waylandiin.
Sulautetut Linux-järjestelmät Qt sulautetuille järjestelmille: PDA :t , älypuhelimet jne. [16] On olemassa useilla alustoilla renderöintitekniikasta riippuen. DirectFB , LinuxFB ja EGLFS ( EGL Full Screen).
Android Qt for Android [17] tunnettiin aiemmin nimellä Necessitas. [kahdeksantoista]
Applen alustat
OS X Qt Apple OS X :lle ; tukee kaakaosovelluksia . [19]
iOS Qt iOS - alustoilla ( iPhone , iPad ). [kaksikymmentä]
Microsoftin alustat
Windows Qt Microsoft Windows XP :lle , Vistalle , 7 :lle , [21] 8 :lle ja 10 :lle . [22]
Windows CE Qt Windows CE 6 :lle ja Windows Embedded Compact 7 :lle . [23]
Windows RT Tuki WinRT - pohjaisille sovelluksille Windows 8 :lle ja Windows Phone 8 :lle [24] . Versiosta 5.4 alkaen: Windows Phone 8.1 . [25]
Muut sulautetut alustat
Rehellisyys Qt eheydelle . [26]
QNX Qt QNX :lle . [27]
VxWorks Qt VxWorksille . [28]

Kun Nokia julkaisi Qt-lähdekoodin Gitorious -yhteisölle , ilmestyi useita portteja. On myös joitain portteja, jotka saattavat olla käytettävissä, mutta joita ei enää tueta.

Komponentit

Kirjasto on jaettu useisiin moduuleihin:

Toteutettuna on myös WoC-tekniikka - widgetit kankaalle, jonka avulla Plasma toteutetaan KDE 4.1:ssä Qt-kirjastowidgettejä voidaan käyttää suoraan sovelmissa. Tarjoaa QGraphicsView-widgetien asettelun skaalautuvilla ja erilaisilla graafisilla tehosteilla.

Kirjasto käyttää omaa projektimuotoaan, nimeltään .pro-tiedosto, joka sisältää tietoa siitä, mitkä tiedostot käännetään, mitkä polut otsikkotiedostojen etsimiseen ja paljon muuta tietoa. Myöhemmin qmake- apuohjelmalla niitä käytetään tekemään makefile kääntäjän make-apuohjelmaa varten. On myös mahdollista työskennellä integraattoreiden avulla Microsoft Visual Studio 2003/2005/2008/2010 kanssa. Integrointi Eclipseen on poistettu käytöstä vuodesta 2010 lähtien.

Java - kehittäjät voivat käyttää Qt:tä käyttämällä saman toimittajan Qt Jambi -kehystä (virallisesti vuodesta 2009 lähtien Qt Software on lopettanut tämän kehyksen kehittämisen).

Dokumentaatio

Yksi Qt-kehyksen eduista on yksityiskohtainen dokumentaatio [30] [31] , johon liittyy suuri määrä esimerkkejä. Esimerkkien lähdekoodi sisältää yksityiskohtaisia ​​kommentteja ja kuvauksia, mikä helpottaa myös Qt:n oppimista.

Käyttö

Qt:tä käytetään Autodesk Mayassa , [32] [33] , Skypessä , Telegramissa , VLC Media Playerissa [34] , VirtualBoxissa , Mathematicassa [35] , Euroopan avaruusjärjestössä [36] , DreamWorksissä [37] [38] , Googlessa , HP :ssa [39] , Lucasfilm [40] , Panasonic [41] , Philips [42] , Samsung [43] , Siemens [44] , Volvo [45] ja Walt Disney Animation Studios , CAO [46] , Google Earth , CherryPlayer- mediasoitin .

Lisäksi KDE - työpöytäympäristö , MeeGo mobile OS GUI ja Qt Creator  , Qt-kehitysympäristö, perustuvat Qt;

Meta-objektijärjestelmä

Meta-objektijärjestelmä  on osa ydinkehystä, joka tukee C++-ominaisuuksia, kuten signaaleja ja paikkoja reaaliaikaista viestintää varten objektien välillä ja järjestelmän dynaamisia ominaisuuksia.

Meta-objektijärjestelmä sisältää: luokan QObject, makron Q_OBJECTja apuohjelman moc(meta-objektien kääntäjä). QObject on kaikkien Qt-luokkien perusluokka. Makroa Q_OBJECTkäytetään mahdollistamaan meta-objektifunktiot luokissa, ja se toimii käännösaikana esiprosessorina, joka muuntaa makrosovellukset C++-lähdekoodiksi.

Muistiinpanot

  1. 1 2 https://my.safaribooksonline.com/0131872494/pref04
  2. qt avoimen lähdekoodin projekti Open Hubissa: Kielet-sivu - 2006.
  3. 1 2 3 4 5 6 7 8 9 Free Software Directory
  4. https://www.qt.io/blog/qt-6.4-released
  5. http://trolltech.com/company/newsroom/announcements/press.2008-01-18.1601592972
  6. Haastattelu Trolltechin Eirik Engin ja Matthias Ettrichin  (englanniksi) kanssa  (linkki ei saatavilla) (12. huhtikuuta 2004). Käyttöpäivä: 16. joulukuuta 2011. Arkistoitu alkuperäisestä 3. helmikuuta 2012.
  7. アーカイブされたコピー(linkki ei saatavilla) . Haettu 3. elokuuta 2007. Arkistoitu alkuperäisestä 9. elokuuta 2007. 
  8. http://www.qtsoftware.com/products/qt/jambi/  (downlink)
  9. Qt-kehys QNX:lle Arkistoitu 2. marraskuuta 2011 Wayback Machinessa 
  10. Muutos I4352629a: Windows RT:n ja Windows Phonen alustava tuki Arkistoitu 23. lokakuuta 2013 Wayback Machinessa 
  11. Qt:n WinRT-portti ja sen C++/CX-käyttö Arkistoitu 29. lokakuuta 2013.  (Englanti)
  12. Qt Wiki - Linux/X11-tuki . Qt-projekti (12. elokuuta 2011). Haettu 21. elokuuta 2013. Arkistoitu alkuperäisestä 1. toukokuuta 2015.
  13. Jørgen Lind. Moniprosessinen majakka . Qt-projekti (18. maaliskuuta 2011). Haettu 21. elokuuta 2013. Arkistoitu alkuperäisestä 18. kesäkuuta 2015.
  14. Lighthousen käytön aloittaminen . Haettu 25. marraskuuta 2011. Arkistoitu alkuperäisestä 27. huhtikuuta 2015.
  15. Kristian Hogsberg. Lisää wayland lighthouse -laajennus (linkki ei saatavilla) (25. tammikuuta 2011). Arkistoitu alkuperäisestä 3. helmikuuta 2016. 
  16. Qt Wiki - Tuki sulautetulle Linuxille . Qt-projekti (12. elokuuta 2011). Haettu 10. huhtikuuta 2015. Arkistoitu alkuperäisestä 1. toukokuuta 2015.
  17. Uudet ominaisuudet Qt 5.1:ssä – Uusien alustojen tuki . Digia (3.7.2013). Haettu 10. huhtikuuta 2015. Arkistoitu alkuperäisestä 23. huhtikuuta 2015.
  18. Necessitas-projekti (downlink) . Haettu 10. huhtikuuta 2015. Arkistoitu alkuperäisestä 20. helmikuuta 2016. 
  19. Qt Wiki - Tuki OS X :lle. Qt-projekti (14. elokuuta 2011). Haettu 21. elokuuta 2013. Arkistoitu alkuperäisestä 30. huhtikuuta 2015.
  20. Tuetut alustat . Haettu 1. helmikuuta 2014. Arkistoitu alkuperäisestä 26. joulukuuta 2014.
  21. Qt Wiki - Windows-tuki . Qt-projekti (11. elokuuta 2011). Haettu 11. elokuuta 2013. Arkistoitu alkuperäisestä 30. huhtikuuta 2015.
  22. Windows 10 -tuki Qt:ssä . Qt Company (29. huhtikuuta 2015). Käyttöpäivä: 28. tammikuuta 2016. Arkistoitu alkuperäisestä 19. tammikuuta 2016.
  23. Bjoern Breitmeyer. WinCE-tuen tila Qt5:ssä . KDAB (21. elokuuta 2013). Haettu 21. elokuuta 2013. Arkistoitu alkuperäisestä 18. kesäkuuta 2015.
  24. Qt WinRT:lle . Qt projekti . Haettu 9. syyskuuta 2014. Arkistoitu alkuperäisestä 14. heinäkuuta 2019.
  25. Uusia ominaisuuksia Qt 5.4 - Qt Wikissä . Käyttöpäivä: 28. helmikuuta 2016. Arkistoitu alkuperäisestä 29. helmikuuta 2016.
  26. Qt-tuotesivut, tuetut alustat . Qt - Tuote - Qt Framework . Qt-yhtiö. Haettu 21. marraskuuta 2014. Arkistoitu alkuperäisestä 20. marraskuuta 2014.
  27. Qt-blogi. Qt Commercial tukee muodollisesti QNX | Qt-blogi (linkkiä ei ole saatavilla) . blog.qt.digia.com. Haettu 19. maaliskuuta 2013. Arkistoitu alkuperäisestä 8. lokakuuta 2013. 
  28. Qt-blogi. Qt Commercial for VxWorks | Qt-blogi (linkkiä ei ole saatavilla) . blog.qt.digia.com. Haettu 19. maaliskuuta 2013. Arkistoitu alkuperäisestä 19. huhtikuuta 2014. 
  29. QtWebEngine/ChromiumVersions - Qt Wiki . wiki.qt.io. _ Haettu: 24.8.2022.
  30. Jono Bacon. Arvostelut : Qt  . Mactech (2004). Käyttöpäivä: 16. syyskuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  31. Online-viitedokumentaatio  (eng.)  (linkki ei saatavilla) . Nokia . Käyttöpäivä: 16. syyskuuta 2010. Arkistoitu alkuperäisestä 23. elokuuta 2011.
  32. Qt Autodeskissä (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  33. Qt visuaalisissa tehosteissa (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  34. Qt VideoLan Playerissa (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  35. Qt toimitti edistyneen, monikäyttöisen C++ GUI:n Mathematican kehitystiimille (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  36. Qt Euroopan avaruusjärjestössä (linkki ei saatavilla) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  37. DreamWorks Animationin kulissien takana: elokuvia tekevien sovellusten tekeminen (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  38. Käyttöliittymän ja järjestelmän suunnittelun haasteita NxG Lighting Toolille (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  39. Kehitetään innovatiivisia työpöytä- ja sulautettuja HP-tuotteita Qt:llä (linkki ei saatavilla) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  40. Lucasfilm Entertainment Company Ltd. (linkki ei saatavilla) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  41. Panasonic valitsee Qt:n HD-videojärjestelmälle (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  42. Qt IP-tiedonsiirrossa (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  43. Qt Home Mediassa (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  44. Qt auttoi Siemensiä toimittamaan C++-kehitysalustan ohjelmistojen GUI-valmistukseen (downlink) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  45. Volvo Mobility Systems (pääsemätön linkki) . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 
  46. Qt auttoi Walt Disneyä vähentämään monikäyttöisen elokuvatuotantosovelluksensa (downlink) kehittämiseen kuluvaa aikaa . Arkistoitu alkuperäisestä 3. helmikuuta 2012. 

Kirjallisuus

Linkit