GTK programvare | |
---|---|
GTK 4 -widget | |
Sjanger | Grafikkbibliotek (ikke oppført ) |
Utvikler | GNOME Foundation og GNU-prosjektet |
Dato for første versjon | 14. april 1998 |
Siste versjon | 4.8.1 (16. september 2022) |
Operativsystem | Linux Microsoft Windows macOS |
Språk | C. |
Tillatelse | GNU LGPL v2.1 og GNU Lesser General Public License ( gratis lisens ) |
Tunge | Flerspråklig |
Nettsted | gtk.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 .
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.
Versjon 3 ble utgitt 10. februar 2011 [3] og inkluderer følgende fremtredende funksjoner:
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]
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.
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 .
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]
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 .
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 .
Noen betydelige åpen kildekode-applikasjoner på tvers av plattformer som bruker GTK som et widgetverktøy:
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 |