Qt | |||
---|---|---|---|
Qt Designer brukt for GUI- design . | |||
Generell informasjon | |||
programtype | utviklingsbibliotek | ||
Forfatter | Haavard Nord og Eirik Chambe-Eng. [ 1 ] | ||
utvikler |
| ||
Utviklingsmodell | Gratis og åpen kildekode-programvare | ||
Første utgivelse | 20. mai 1995 | ||
Tillatelse |
GNU LGPL 2.1 GNU GPL 2 og 3 proprietær [ 3 ] | ||
Faktisk tilstand | Aktiv | ||
Teknisk informasjon | |||
Planlagt inn | C++ | ||
Versjoner | |||
Siste stabile versjon | 6.3.2 [ 2 ] ( info ) (12. september 2022 (1 måned og 5 dager)) | ||
lesbare filer | |||
flere
| |||
redigerbare filer | |||
flere
| |||
Linker | |||
Qt offisielle nettsted kodelager feilsporing | |||
Qt er et objektorientert rammeverk på tvers av plattformer som er mye brukt for å utvikle programmer ( programvare ) som bruker et grafisk brukergrensesnitt , samt ulike typer kommandolinjeverktøy og konsoller for servere som ikke trenger et grafisk brukergrensesnitt.
Qt er utviklet som gratis og åpen kildekode-programvare gjennom Qt Project, hvor både samfunnet og utviklere fra Nokia , Digia og andre selskaper deltar. [ 4 ] Tidligere ble den utviklet av Nokias Qt-programvaredivisjon, som ble til etter Nokias oppkjøp av det norske selskapet Trolltech , den opprinnelige produsenten av Qt, 17. juni 2008 . [ 5 ] Qt distribueres under vilkårene i GNU Lesser General Public License og andre. På den annen side er Digia ansvarlig for Qt kommersielle lisenser siden mars 2011.
Qt brukes i KDE Plasma , et skrivebordsmiljø for blant annet systemer som GNU/Linux eller FreeBSD .
Qt bruker programmeringsspråket C++ , i tillegg kan det brukes i flere andre programmeringsspråk gjennom bindinger . Det brukes også i innebygde datasystemer for biler, fly og husholdningsapparater som kjøleskap. [ 6 ]
Den fungerer på alle større plattformer og har bred støtte. Bibliotekets API har metoder for tilgang til databaser ved hjelp av SQL , samt bruk av XML , trådadministrasjon , nettverksstøtte, en enhetlig cross-platform API for filmanipulering og en rekke andre metoder for å håndtere filer. filer, i tillegg til tradisjonelle datastrukturer .
Den ble opprinnelig utviklet av Haavard Nord (administrerende direktør i Trolltech) og Eirik Chambe-Eng (president i Trolltech). Haavard og Eirik møttes ved Norges tekniske høgskole i Trondheim, hvor de begge ble uteksaminert med en mastergrad i informatikk. Verktøysettet ble kalt Qt fordi bokstaven Q så kul ut i Emacs -fonten som Haavard brukte mye i arbeidet sitt, og "t" var inspirert av Xt, X Tool kit. [ 1 ]
Qt dukket opprinnelig opp som et bibliotek utviklet av Trolltech (den gang "Quasar Technologies") i 1992 etter en åpen kildekodebasert utvikling , men ikke helt gratis . Det tillot opprinnelig lukket programvareutvikling ved å kjøpe en kommersiell lisens, eller fri programvareutvikling ved å bruke Free Qt-lisensen. Sistnevnte var ikke en ekte fri programvarelisens siden den ikke tillot redistribuering av modifiserte versjoner av Qt.
Det ble aktivt brukt i utviklingen av KDE-skrivebordet (mellom 1996 og 1998 ), med bemerkelsesverdig suksess og rask utvidelse, på vei til å bli en av de mest populære GNU/Linux-skrivebordene .
Dette faktum vakte bekymring fra GNU -prosjektet , siden de så som en trussel mot fri programvare at en av de mest brukte gratis skrivebordene var basert på proprietær programvare . For å motvirke denne situasjonen ble to ambisiøse initiativer foreslått: på den ene siden startet GNU -teamet i 1997 utviklingen av GNOME -skrivebordsmiljøet med GTK+ for GNU/Linux . På den annen side ble det gjort et forsøk på å gjøre et bibliotek kompatibelt med Qt, men helt gratis , kalt Harmony .
I 1998 møtte KDE-utviklere Trolltech for å etablere KDE Free Qt Foundation , som uttalte at hvis Trolltech sluttet å utvikle gratis og halvfrie versjoner av Qt, kunne Foundation selv gi ut den siste utgitte versjonen av Qt-biblioteket under en lisens. BSD- liker [ 7 ]
Med versjon 2.0 ble den endret til Q Public License , ansett som åpen kildekode . Denne endringen var ment å dempe kritikken av Qt og KDE om at det ikke var fri programvare. QPL var imidlertid ikke kompatibel med GPL -lisensen brukt av KDE, så det var stemmer som hevdet at GPL-lisensen ble brutt ved å blande QPL-programvare (Qt-biblioteket) med GPL-programvare (KDE). [ 8 ]
Den 4. september 2000 begynte Trolltech å tilby Qt-biblioteket i sin versjon 2.1 under GPL-lisensen i sin versjon for Linux. Mac OS X-versjonen ble ikke utgitt under GPL før i juni 2003 , mens Windows-versjonen ble utgitt under GPL i juni 2005 .
18. januar 2008 kunngjorde Trolltech at de også ville tilby Qt under GPL v3-lisensen.
I juni 2008 kjøpte Nokia opp Trolltech for å utvikle desktop- og mobilapplikasjoner. Sistnevnte ble integrert i Nokia som "Qt Software". [ 5 ]
Den 14. januar 2009 kunngjorde Nokia at Qt v4.5 i tillegg vil bli lisensiert under LGPL 2.1-lisensen, med slagordet "Qt Everywhere". [ 9 ]
Nokia kunngjorde at de vil stoppe Symbian-utviklingen for å bruke Microsofts plattform for smarttelefonene sine i februar 2011.
9. august 2012 kunngjorde Digia en avtale med Nokia om oppkjøp av Qt. Noen av Digias planer er utviklingen av Qt for Android , iOS og Windows 8 . [ 10 ]
Qt har for tiden et trippellisenssystem: GPL v2/v3 for utvikling av åpen kildekode og fri programvare , den betalte QPL-lisensen for utvikling av kommersielle applikasjoner, og fra versjon 4.5 en gratis lisens beregnet på kommersielle applikasjoner, LGPL .
Qt er tilgjengelig for Unix-lignende systemer med den grafiske X Window System- serveren ( Linux , BSD , Unix ), for Apple Mac OS X , for Microsoft Windows -systemer , for Embedded Linux , for innebygde systemer som PDAer , smarttelefoner etc. og for enheter som bruker Windows CE [ 11 ]
Qt Software kunngjorde 20. oktober 2008 en versjon av Qt for S60-plattformen . [ 12 ] [ 13 ]
I tillegg er QSA ( Qt Scripts for Applications ) også tilgjengelig, som, basert på ECMAScript / JavaScript , lar deg introdusere og lage skript i applikasjoner laget med Qt.
Det er tre utgaver av Qt tilgjengelig på hver av disse plattformene, kalt:
Qt har en serie bindinger for ulike programmeringsspråk:
Følgende er et eksempel på bruk av Qt fra det velkjente programmet Hello World! , hvor det opprettes et vindu med en etikett ( QLabel) som viser teksten ¡Hola Mundo!.
/******** Hello.cpp **********/ #include <QtGui/QApplication> #include <QtGui/QLabel> int main ( int argc , char * argv []) { QApplication app ( argc , argv ); QLabel- etikett ( QString :: fromUtf8 ( "Hello World!" ) ); etikett . vis (); returner app . exec (); }
1. Mappen Hola
er opprettet 2. Filen opprettes Hola.cppi mappen Hola
3. I en terminalemulator går du ned til Hello-mappen og kjør:
4. Slik kjører du programmet:
d) ./release/Hola(på Windows: release\Hola.exe)På grunn av enkelheten, robustheten, den opprinnelige ytelsen, kompatibiliteten på tvers av plattformer og både åpen kildekode og kommersielle lisenser; mange organisasjoner i mange deler av verden bruker Qt. Disse inkluderer, men er ikke begrenset til: European Space Agency , [ 27 ] DreamWorks , [ 28 ] [ 29 ] Lucasfilm , [ 30 ] [ 31 ] Panasonic , [ 32 ] Philips , [ 33 ] , [ 34 ] Siemens AG , [ 35 ] Volvo , [ 36 ] Walt Disney Animation Studios , [ 37 ] Blizzard Entertainment , [ 38 ] Electronic Arts , [ 39 ] AMD , Research In Motion , [ 40 ] HP . [ 41 ]
Eksempler på applikasjoner som bruker Qt er: Autodesk Maya , [ 42 ] [ 43 ] Mathematica , [ 44 ] Google Earth , [ 45 ] RStudio IDE , [ 46 ] Spotify for Linux, [ 47 ] maskinen virtuell VirtualBox , VLC mediespiller , [ 48 ] og AMD Radeon Software Crimson Edition. [ 49 ]