Qt (bibliotek)

Qt

Qt Designer brukt for GUI- design .
Generell informasjon
programtype utviklingsbibliotek
Forfatter Haavard Nord og Eirik Chambe-Eng. [ 1 ]
utvikler
  • Qt Company (2014–i dag)
  • Qt Project (2011–i dag)
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
  • QtMessage
  • Qt brukergrensesnitt
  • Qt Translation kildefil
  • Qt Assistant Dokumentasjonsprofil
  • Qt Assistant innholdsfil
  • Qt ressursinnsamling
  • Qt Jambi brukergrensesnitt
redigerbare filer
              flere
  • QtMessage
  • Qt brukergrensesnitt
  • Qt Translation kildefil
  • Qt Assistant Dokumentasjonsprofil
  • Qt Assistant innholdsfil
  • Qt ressursinnsamling
  • Qt Jambi brukergrensesnitt
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 .

Formål og egenskaper

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 .

Historikk

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 .

Plattformer

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:

Bindinger

Qt har en serie bindinger for ulike programmeringsspråk:

Programmeringseksempel

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 (); }


Sammenstilling og utførelse

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:

en)qmake -project b)qmake c) make/ gmake/ nmake- avhengig av operativsystemet eller byggesystemet

4. Slik kjører du programmet:

d) ./release/Hola(på Windows: release\Hola.exe)

Bruker

Organisasjoner som bruker Qt

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 ]

Søknader skrevet i Qt

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 ]

Se også

Referanser

  1. a b Blanchette, Jasmin; Summerfield, Mark (juni 2006). "En kort historie om Qt" . C++ GUI-programmering med Qt 4 (1. utgave). Prentice Hall . s. xv-xvii . Hentet 5. august 2013 . 
  2. https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/6.3.2/release-note.md
  3. ^ "Qt Licensing - En applikasjon på tvers av plattformer og UI-rammeverk" . 
  4. ^ Knoll, Lars (21. oktober 2011). «Qt-prosjektet er live!» . Hentet 9. august 2012 . 
  5. ^ a b "Nokia-oppkjøpet" . Arkivert fra originalen 19. januar 2009. 
  6. ^ "Nye 'kule' utviklinger" . 28. august 2011. 
  7. KDE Free Qt Foundation
  8. Utviklingen av QPL
  9. Qt-programvare — LGPL-lisensalternativ lagt til Qt 14. januar 2009
  10. ^ "Digia kjøper Qt fra Nokia " . 9. august 2012. Arkivert fra originalen 5. mars 2013 . Hentet 9. august 2012 . 
  11. Qt-programvare — Qt for Windows CE
  12. Qt-programvare — Teknologiforhåndsvisning - Qt for S60
  13. Qt Labs-blogger — Vi overfører Qt til S60!
  14. PySide
  15. PythonQt
  16. Qyoto
  17. Kimono
  18. Qt Ruby
  19. Qt Jambi
  20. QtAda arkivert 2009-04-12 på Wayback Machine
  21. Gratis Pascal QT4
  22. ^ "Perl Qt4" . Arkivert fra originalen 20. januar 2009 . Hentet 5. juli 2009 . 
  23. Qt Haskell
  24. lqt
  25. DaoQt
  26. QtD
  27. ^ "Qt i European Space Agency" . Arkivert fra originalen 23. juli 2011. 
  28. Behind the Scenes at DreamWorks Animation: Lage appene som lager filmene . Arkivert fra originalen 9. januar 2022. 
  29. Utfordringer for brukergrensesnitt og systemdesign for NxG Lighting Tool . Arkivert fra originalen 9. januar 2022. 
  30. "Lucasfilm Entertainment Company Ltd." . 
  31. ^ "Qt i visuelle effekter" . Arkivert fra originalen 23. juli 2011. 
  32. ^ "Panasonic velger Qt for HD-videosystem" . Arkivert fra originalen 23. juli 2011. 
  33. ^ "Qt i IP-kommunikasjon" . Arkivert fra originalen 23. juli 2011. 
  34. ^ "Qt i hjemmemedier" . Arkivert fra originalen 23. juli 2011. 
  35. ^ "Qt hjalp Siemens med å levere en C++ utviklingsplattform for produksjon av programvare GUIer" . Arkivert fra originalen 14. juli 2011. 
  36. ^ "Volvo mobilitetssystemer" . Arkivert fra originalen 14. juli 2011. 
  37. ^ "Qt hjalp Walt Disney med å redusere utviklingstiden brukt på sin tverrplattformbaserte spillefilmproduksjonsapplikasjon" . Arkivert fra originalen 14. juli 2011. 
  38. "Blizzards tillegg/endringer til Qt" . 
  39. {{web quote |url= http://gpl.ea.com/qtsource.html |title=Open Source - Electronic Arts }
  40. ^ "Qt for Blackberry Tablet OS & BB10" . Arkivert fra originalen 18. januar 2013 . Hentet 3. januar 2013 . 
  41. ^ "Utvikle innovative skrivebords- og innebygde HP-produkter med Qt" . 
  42. ^ "Qt i Autodesk" . Arkivert fra originalen 23. juli 2011. 
  43. ↑ a b "Qt i visuelle effekter" . Arkivert fra originalen 23. juli 2011. 
  44. "Qt leverte avansert C++ GUI på tvers av plattformer for Mathematicas utviklingsteam" . Arkivert fra originalen 23. august 2014 . Hentet 12. november 2015 . 
  45. ^ "Google Earth inkluderer en nettleser" . Googlesystem.blogspot.de. 15. juni 2010 . Hentet 8. april 2013 . 
  46. ^ Verzani, John (2011). Komme i gang med RStudio . O'Reilly Media, Inc. s. 4 . ISBN  9781449309039 . 
  47. ^ "10 Qt brukstilfeller du ikke visste" . Arkivert fra originalen 4. januar 2015. 
  48. ^ "Qt-grensesnitt" . 
  49. Mark Walton (2. november 2015). "AMD Radeon Software Crimson: Et nytt navn og et nytt utseende for Catalyst" . 
  50. Qt-programvare — Adobe Photoshop Elements® Album
  51. ^ "KDE-utviklingsplattformen" . 
  52. ^ "Qt i bruk - Skype." . Arkivert fra originalen 26. februar 2009. 
  53. TOra bruker Qt-biblioteket

Eksterne lenker

  • Wikimedia Commons har en mediekategori for Qt .
  • Wikibooks er vert for en bok eller manual om introduksjon til designmønstre i C++ med Qt4 .
  • qt.io , Qt nettsted
  • Qt Forum Español , Qt-forum for det spansktalende samfunnet
  • Duarte Corporation , Den mest omfattende katalogen med videoopplæringer relatert til Qt i det spansktalende samfunnet.