GTK (verktøysett)

GTK
programvare
GTK 4 -widget
SjangerGrafikkbibliotek  (ikke  oppført )
UtviklerGNOME Foundation og GNU-prosjektet
Dato for første versjon14. april 1998
Siste versjon4.8.1 (16. september 2022)
OperativsystemLinux
Microsoft Windows
macOS
SpråkC.
TillatelseGNU LGPL v2.1 og GNU Lesser General Public License
( gratis lisens )
TungeFlerspråklig
Nettstedgtk.org/

GTK (tidligere GTK + [1] , akronym for GIMP ToolKit ) i informatikk , er et verktøysett (sett med verktøy, det viktigste er libgtk-biblioteket) for å lage grafiske grensesnitt . Den er utviklet i C og støtter X Window System , Wayland og Microsoft Windows grafiske miljø . Det er gratis programvare (en del av GNU -prosjektet) under LGPL -lisensen .

Verktøysettet, opprinnelig utformet som et programmeringshjelpemiddel for det velkjente grafikkprogrammet GIMP , fikk popularitet ved å overstyre Motif og bli en grunnleggende del av GNOME -skrivebordsmiljøet .

Historisk utvikling

GTK + 2

GTK + 2 utviklet med den hensikt å erstatte og forbedre GTK +. Blant de nye funksjonene [2] , gradvis lagt til allerede av den originale GTK +, er:

GTK + 2 er imidlertid ikke kompatibel med GTK + 1, og programmerere må migrere sin gamle kode.

Fra og med versjon 2.8 avhenger GTK + 2 av Kairo -biblioteket for å gjengi grensesnittet ved hjelp av 2D vektorgrafikk.

GTK + 3

Versjon 3 ble utgitt 10. februar 2011 [3] og inkluderer følgende fremtredende funksjoner:

GTK 4

Utgitt i september 2020, representerer den GTKs siste utvikling. [4] Den nye versjonen inkluderer en ny Vulkan- og OpenGL -gjengivelsesmotor , forbedrer Wayland-støtte og bedre ytelse. [5]

Funksjoner

Utseende

Sluttbrukeren kan konfigurere utseendet til grensesnittet etter eget ønske takket være muligheten for å endre temaet som brukes. Det er dermed mulig å emulere utseendet til andre biblioteker eller andre miljøer, inkludert Windows 95 , Motif , Qt eller NeXTSTEP . Temaer kan konfigureres fra versjon 3 via CSS [6] og kan håndtere avrundede kanter, animasjoner og transparenter.

GtkBuilder er systemet for å lage utformingen av grafiske grensesnitt uten å skrive kode. Det grafiske grensesnittet til applikasjonen er beskrevet i XML , filen lastes når applikasjonen startes og lager alle de grafiske objektene. Glade - editoren lar deg bygge det grafiske grensesnittet i WYSIWYG -modus . XML-grensesnittfiler er uavhengige av språket som brukes av applikasjonen.

Kode ikke relatert til grafikk

GTK inneholdt opprinnelig noen verktøyfunksjoner som ikke var strengt relatert til grafikk, for eksempel å gi datastrukturer , koblede lister og binære trær . Disse generelle verktøyene, sammen med objektsystemet kalt GObject, er nå migrert til et eget bibliotek, GLib , som programmerere fortsatt kan bruke for å utvikle kode som ikke krever et grafisk grensesnitt. Et typisk eksempel på denne tilnærmingen er GStreamer -prosjektet . GLib-biblioteket vedlikeholdes av GTK-utviklerne selv.

På grunn av dens utvidbarhet, portabilitet og tekniske godhet har den blitt valgt som en komponent for andre widget-verktøysett, for eksempel wxWidgets .

Språk

GTK bruker det utvidede programmeringsspråket C , takket være GLib og GObject , det objektorienterte programmeringsparadigmet . GTK gir bindinger for språk som C ++ , Perl , Ruby , Java og Python ( PyGTK ). Andre har også lagt til støtte for andre språk som Ada , Fortran , D , Haskell , Pascal , PHP , Pike og C # takket være Mono (Gtk #). Du kan også bruke HTML5 som utdata ved å se nettlesergrensesnittet. [7]

Støttede plattformer

Opprinnelig var GTK-verktøysettet kun beregnet på X Window System , som imidlertid fortsatt er referanseplattformen. For øyeblikket kan den installeres på Microsoft Windows (fra versjon 2.8 kreves Windows 2000 eller høyere), DirectFB og Quartz ( Mac OS X Tiger eller høyere, fortsatt under utvikling) og også med den nye grafiske referanseprotokollen på GNU / Linux Wayland .

Bruk

Miljøer som bruker GTK

GTK-bibliotekene er en integrert del av GNOME-prosjektet og er derfor grunnlaget for brukergrensesnittet til ethvert program utviklet for GNOME. Allsidigheten og den relative lettheten har gjort det mulig for GTK+ å være grunnlaget for andre skrivebordsmiljøer som anses som lettere . Faktisk er det en versjon av GNOME dedikert til GNOME Mobile innebygde miljøer . Til dags dato brukes de for følgende miljøer:

Det er ikke nødvendig å bruke disse grafiske miljøene for å kjøre GTK-programmer. Hvis et program krever biblioteker og de er installert, kan det også fungere på andre X11-baserte miljøer, slik som KDE; Dette inkluderer Mac OS X hvis X11.app er installert. GTK kan også kjøre på Microsoft Windows, og brukes av noen populære tverrplattformapplikasjoner som GIMP og Pidgin. wxWidgets , et grafisk verktøysett på tvers av plattformer, bruker GTK på alle Unix-systemer. Noen av de mer uvanlige portene er DirectFB og ncurses .

Window Managers

Applikasjoner skrevet med GTK

Noen betydelige åpen kildekode-applikasjoner på tvers av plattformer som bruker GTK som et widgetverktøy:

Versjonshistorikk

Familieversjon Første utgivelsesdato Hovedforbedring Siste mindre versjon
1.0 Arkivert 12. august 2014 på Internet Archive . 14. april 1998 Første stabile versjon 1.0.6
1.2 27. februar 1999 Nye widgets (GtkFontSelector, GtkPacker, GtkItemFactory, GtkCTree, GtkInvisible, GtkCalendar, GtkLayout, GtkPlug, GtkSocket) 1.2.10
2.0 11. mars 2002 Flyttet objektadministrasjon til GLib (GObject) og unicode -støtte med UTF-8-koding 2.0.9
2.2 22. desember 2002 Flerhodestøtte _ 2.2.4
2.4 16. mars 2004 Nye widgets (GtkFileChooser, GtkComboBox, GtkComboBoxEntry, GtkExpander, GtkFontButton, GtkColorButton) 2.4.14
2.6 16. desember 2004 Nye widgets (GtkIconView, GtkAboutDialog og GtkCellView) 2.6.10
2.8 13. august 2005 Integrasjon med Kairo 2.8.20
2.10 3. juli 2006 Nye widgets (GtkStatusIcon, GtkAssistant, GtkLinkButton, GtkRecentChooser) og utskriftsstøtte (GtkPrintOperation) 2.10.14
2.12 14. september 2007 Nytt system for generering av grensesnittet fra en XML -fil (GtkBuilder) 2.12.12
2.14 4. september 2008 JPEG2000- opplastingsstøtte og valgfri egenskapsforsegling (de er ikke lenger offentlige) 2.14.7
2.16 13. mars 2009 Nyheter GtkOrientable, Caps Lock-advarsel når du skriver inn passord. Forbedringer i GtkScale, GtkStatusIcon, GtkFileChooser. 2.16.6
2.18 25. september 2009 Ny GtkInfoBar, GtkLabel med innebygde URL-er, vinduer på klientsiden.
Forbedringer i GtkEntry, GtkBuilder, GtkFileChooser og i utskriftsgrensesnittet.
2.18.8
2.20 23. mars 2010 Nyheter GtkSpinner, GtkCellRendererSpinner, GtkOffscreenWindow.
Forbedringer i GtkFileChooser, tastaturhåndtering og GDK-introspeksjonsdata er nå inkludert i GTK +.
2.20.1
2.22 23. september 2010 gdk-pixbuf flyttet til en egen modul, GDK-tegningsoperasjoner er nå fullstendig utført fra Kairo, mange interne data er gjort private og kan skjules som forberedelse til GTK + 3. 2.22.0
2.24 30. januar 2011 Lagt til en ny ComboBox-widget (GtkComboBoxText), cup-utskriftsbackend kan sende utskriftsjobber i PDF, GtkBuilder fikk støtte for tekstkoder og menyer for verktøyknapper, og mange introspeksjonsannoteringsfikser er lagt til . 2.24.12
3.0 10. februar 2011 Kairo, mindre avhengighet av X11, XInput2, CSS-basert tema-API 3.0.12
3.2 25. september 2011 Nye eksperimentelle Wayland- og HTML5 -backends , ny dialogboks for skriftvalg, nye widgets: GtkLockButton og GtkOverlay 3.2.4
3.4 26. mars 2012 Støttemeny i GtkApplication, En ny fargevelger, lagt til støtte for berøringsenheter, lagt til støtte for kontinuerlig rulling, GtkScrolledWindow vil gjøre kinetisk rulling med berøringsenheter, forbedret OS X-støtte, dette er den første versjonen av GTK + 3 som fungerer bra på Windows , Wayland-backend har blitt oppdatert til gjeldende versjon av Wayland API og er mye mer komplett nå, rotasjonsknapper har fått et nytt utseende, Tilgjengelighet: Støtte for tilgang til disposisjonsvisning har blitt skrevet om og fungerer mye bedre nå, mer omfattende støtte for CSS-temaer. 3.4.4
3.6 24. september 2012 GtkSearchEntry, GtkMenuButton, GtkLevelBar. Vertikale rotasjonsknapper. CSS-animasjoner, uskarpe skygger. Støtte for crossfading og temaoverganger. 3.6.3
4.0 17. september 2020 Ny Vulkan- og OpenGL-gjengivelsesmotor. Bedre støtte for Wayland og bedre prestasjoner. 4.0.1
4.2 30. mars 2020 Ny NGL-gjengivelsesmotor (basert på OpenGL uansett) på alle plattformer som støttes av GTK

Merknader

  1. ^ Emmanuele Bassi, Project rename to "GTK" , på mail.gnome.org , 6. februar 2019. Hentet 8. februar 2019 .
  2. ^ ( EN ) Nyheter introdusert i Gtk + 2 , basert på Gtk kildekode . Hentet 11. oktober 2020 (arkivert fra originalen 16. juli 2012) .
  3. ^ GTK + 3.0.0 utgitt , på mail.gnome.org . Hentet 3. april 2021 .
  4. ^ GTK 4.0 - GTK - utviklingsblogg , blog.gtk.org . Hentet 3. april 2021 .
  5. ^ GTK 4.0 Toolkit offisielt utgitt , phoronix.com , 16. desember 2020. Hentet 3. april 2021 .
  6. ^ GTK + CSS Oversikt: GTK + 3 Reference Manual , på developer.gnome.org . Hentet 3. april 2021 .
  7. ^ Bruke GTK + med Broadway: GTK + 3 Reference Manual , på developer.gnome.org . Hentet 3. april 2021 .

Andre prosjekter

Eksterne lenker