GTK - GTK
Originale forfatter (er) | Spencer Kimball , Peter Mattis |
---|---|
Udvikler (er) | GNOME -projektet , eXperimental Computing Facility (XCF) |
Første udgivelse | 14. april 1998 |
Stabil udgivelse | 4.4.0 / 23. august 2021
|
Udgivelsesversion | 4.3.1 / 9. juni 2021
|
Depot | |
Skrevet i | C , CSS |
Operativ system | Linux , Unix-lignende , macOS , Windows |
Type | Widget værktøjskasse |
Licens | LGPLv2.1+ |
Internet side | gtk |
GTK (tidligere GIMP ToolKit derefter GTK+ ) er en gratis og open-source cross-platform widget-værktøjskasse til oprettelse af grafiske brugergrænseflader (GUI'er). Den er licenseret i henhold til betingelserne i GNU Lesser General Public License , så både gratis og proprietær software kan bruge den. Det er en af de mest populære værktøjskasser til Wayland og X11 vinduesystemer .
GTK -teamet udgiver regelmæssigt nye versioner. GTK 4 og GTK 3 opretholdes, mens GTK 2 er udtjent.
Software arkitektur
GTK -biblioteket indeholder et sæt grafiske kontrolelementer ( widgets ); version 3.22.16 indeholder 186 aktive og 36 forældede widgets. GTK er en objektorienteret widget-værktøjskasse skrevet i programmeringssproget C ; den bruger GObject , det vil sige GLib -objektsystemet , til objektretningen. Mens GTK hovedsageligt er til vinduesystemer baseret på X11 og Wayland , fungerer det på andre platforme, herunder Microsoft Windows (grænseflade med Windows API ) og macOS (grænseflade med Quartz ). Der er også en HTML5- back-end ved navn Broadway .
GTK kan konfigureres til at ændre udseendet af de tegnede widgets; dette gøres ved hjælp af forskellige displaymotorer. Der findes flere displaymotorer, der forsøger at efterligne udseendet af de native widgets på den platform, der er i brug.
Fra og med version 2.8, udgivet i 2005, begyndte GTK overgangen til at bruge Kairo til at gengive de fleste af sine grafiske kontrolelementer -widgets . Siden GTK version 3.0 udføres al gengivelse ved hjælp af Kairo.
Den 26. januar 2018 på DevConf.cz gav Matthias Clasen et overblik over den nuværende status for GTK 4-udvikling, herunder en forklaring på højt niveau om, hvordan gengivelse og input fungerede i GTK 3, hvilke ændringer der foretages i GTK 4 (> 3,90 ), og hvorfor. Den 6. februar 2019 blev det annonceret, at GTK 4 vil slippe “+” fra projektets navn.
GTK Drawing Kit (GDK)
GDK fungerer som en indpakning omkring de lave funktioner på det underliggende vindues- og grafiksystem.
GDK findes i /gdk
biblioteket.
GTK Scene Graph Kit (GSK)
GSK er gengivelses- og scenediagram -API'en for GTK. GSK ligger mellem de grafiske kontrolelementer (widgets) og gengivelsen. GSK blev endelig fusioneret til GTK version 3.90 udgivet i marts 2017.
GSK findes i /gsk
biblioteket.
GtkInspector
GtkInspector blev introduceret med version 3.14. GtkInspector kan kun påberåbes efter installation af udviklingspakken libgtk-3-dev / gtk+-devel .
GUI designere
Der er flere GUI -designere til GTK. Følgende projekter er aktive fra juli 2011:
- Glade , understøtter GtkBuilder , som er et GTK indbygget GUI-beskrivelsesformat.
- Gazpacho , GUI -bygger til GTK -værktøjssættet skrevet i Python
- Crow Designer, er afhængig af sit eget GuiXml -format og GuiLoader -bibliotek.
- Stetisk , en del af MonoDevelop , orienteret mod Gtk# .
- Gambas siden version 2.0 oven på BASIC
- Xojo på Linux
- Lazarus på Linux har som standard grænseflade med GTK 2
GtkBuilder
GtkBuilder tillader brugergrænseflader at blive designet uden at skrive kode. Grænsefladen er beskrevet i en XML -fil ( Extensible Markup Language ), som derefter indlæses ved runtime og objekterne oprettes automatisk. Glade Interface Designer tillader oprettelse af brugergrænsefladen på en måde, du ser, er, hvad du får ( WYSIWYG ). Beskrivelsen af brugergrænsefladen er uafhængig af det programmeringssprog, der bruges.
Sprogbindinger
Sprogbindinger er tilgængelige til brug af GTK fra andre sprog end C, herunder C ++ , Genie , JavaScript , Perl , Python , Vala og andre .
GtkSharp, for ikke at forveksle med Gtk#, understøtter GTK 3.
Gtk#
Udvikler (er) | Xamarin |
---|---|
Første udgivelse | 12. marts 2004 |
Stabil udgivelse | 2.12.41 / 22. september 2016
|
Udgivelsesversion | 2.99.3 (for GTK3) / 6. juni 2014
|
Depot | |
Skrevet i | C# , XML , Perl , C |
Operativ system | Windows , macOS , Linux |
Type | Widget værktøjskasse |
Licens | GNU Lesser General Public License |
Internet side | mono-projekt |
Gtk# er et sæt .NET Framework -bindinger til værktøjssættet GTK grafisk brugergrænseflade (GUI) og diverse GNOME -biblioteker . Biblioteket letter opbygning af grafiske GNOME -applikationer ved hjælp af Mono eller en anden kompatibel Common Language Runtime (CLR). Gtk# er et hændelsesdrevet system som ethvert andet moderne vinduesbibliotek, hvor hver widget tillader tilknytning af behandlingsmetoder, som bliver kaldt, når visse begivenheder opstår.
Applikationer bygget ved hjælp af Gtk# kører på mange platforme, herunder Linux , Windows og macOS . Mono -pakkerne til Windows inkluderer GTK, Gtk# og et indbygget tema for at få applikationer til at ligne native Windows -applikationer. Fra og med Mono 1.9 kræver kørsel af Gtk# -programmer på macOS ikke længere at køre en X11 -server.
Glade Interface Designer kan bruges med Glade# bindinger til let at designe GUI applikationer. En GUI -designer ved navn Stetic er integreret med MonoDevelop integrerede udviklingsmiljø (IDE).
Ud over at understøtte standard GTK/GNOME-stakken med udviklingsværktøjer, giver gtk-dotnet.dll- samlingen en bro til forbrugsfunktionalitet, der er tilgængelig på .NET-stakken. På dette tidspunkt inkluderer dette funktionaliteten til at bruge System.Drawing til at tegne på en widget.
Fra september 2020 forbliver Gtk# -støtte til Gtk3 i forhåndsvisningsfasen, og projekter, f.eks. GtkSharp , er blevet grundlagt for at levere fuld Gtk3 -understøttelse til C# og andre CLI -sprog. Manglen på en frigivet version af Gtk# med understøttelse af Gtk3 blev nævnt som en grund til at fjerne Banshee medieafspilleren i Ubuntu 12.04.
Udvikling
GTK er hovedsageligt udviklet af The GNOME Project , som også udvikler GNOME Development Platform og GNOME Desktop Environment.
GTK -udviklingen styres løst. Diskussionen forekommer hovedsageligt på flere offentlige mailinglister. GNOME -udviklere og brugere samles på et årligt GNOME -brugere og udviklere på European Conference GUADEC -møde for at diskutere GNOME's nuværende tilstand og fremtidige retning. GNOME inkorporerer standarder og programmer fra freedesktop.org for bedre at kunne samarbejde med andre desktops.
GTK er hovedsageligt skrevet i C . Mange sprogbindinger er tilgængelige .
Den 1. september 2016 betegnede et indlæg på GTK -udviklingsbloggen blandt andet den fremtidige nummereringsordning for GTK. GTK version 3.22 fra efteråret 2016 er den sidste 3.x udgivelse. Version 3.24 blev introduceret i efteråret 2018 med en forsinkelse på GTK 4. Derefter vil alle ressourcer flytte til GTK 4 -udviklingsserien med versionsnavnene 3.90, 3.92 osv. Selvom 4.x -serien går i udvikling, bruger bemærkelsesværdige applikationer stadig GTK 2.x og er ikke blevet portet til 3.22. Hvad angår fremtiden for ældre software ved hjælp af GTK , var der ikke noget kollektivt projekt om at porte GTK 2.x -software til 3.22. Version 3.24 er i langsigtet support og den faktiske og fremtidige base af programmer som gimp 3.0 og Inkscape 1.0. Så for udviklere er valget stabilt GTK 3.24 med fejlrettelse eller GTK 4 med ændringer og nye funktioner i fremtidig udvikling.
Byg automatisering
GTK (og GNOME, GLib osv.) Brugte tidligere GNU Build System (kaldet Autotools) som det foretrukne build -automatiseringssystem .
Siden 14. august 2017 er mastergrenen i GTK blevet bygget med Meson , og Autotools build -systemfiler er droppet.
Kritik
Den mest almindelige kritik af GTK er manglen på bagudkompatibilitet i større opdateringer, især i applikationsprogrammeringsgrænsefladen (API) og tema.
Kompatibilitetsbruddene mellem mindre udgivelser under GTK 3.x -udviklingscyklussen blev forklaret af Benjamin Otte på grund af et stærkt pres for at innovere, f.eks. At levere de funktioner, moderne brugere forventer og understøtte den stadig mere indflydelsesrige Wayland -displayserverprotokol . Med udgivelsen af GTK 4 vil presset fra behovet for at innovere være blevet frigivet, og balancen mellem stabilitet og innovation vil vippe mod stabilitet. På samme måde er nylige ændringer af temaet specifikt beregnet til at forbedre og stabilisere den del af API'et, hvilket betyder, at nogle investeringer nu skulle belønnes senere.
- Dirk Hohndel, kodeudvikler af Subsurface og medlem af Intels Open-Source Technology Center, kritiserede GTK-udviklerne for at være slibende og ignorere de fleste fællesskabsanmodninger.
- Hong Jen Yee, udvikler af LXDE (hvis GTK -version blev droppet og alle bestræbelser fokuseret på Qt -porten ), udtrykte foragt for version 3 af GTK -værktøjssættets radikale API -ændringer og øget hukommelsesforbrug og overførte PCMan File Manager (PCManFM) til Qt . PCManFM udvikles samtidig med en GTK og med en Qt -backend.
- Den Audacious musikafspiller flyttede til Qt i version 3.6. Årsagerne fra udviklerne til dette inkluderer en overgang til vinduesdekorationer på klientsiden, som de hævder får applikationen til at se " GNOME -y og malplaceret ud."
- Wireshark er skiftet til Qt på grund af ikke at have en god oplevelse med GTK's cross-platform support.
Brug
Ansøgninger
Nogle bemærkelsesværdige applikationer, der bruger eller engang brugte GTK som en widget -værktøjskasse, omfatter:
- GNOME Core Applications - som en del af GNOME -skrivebordsmiljøet, udviklet i samarbejde med GTK selv.
- AbiWord - Tekstbehandler (3.0+ med GTK+ 3)
- Anjuta - Integreret udviklingsmiljø (IDE) (GTK+ 3)
- Ardor - Digital lyd -arbejdsstation
- Chromium - Webbrowser (Indtil version 34, erstattet af Aura i version 35+)
- Ekiga (tidligere GnomeMeeting) - VoIP og videokonference ansøgning
- GNU Emacs kan bruge GTK, når de kører på X. (GTK+ 3 med 24.2+)
- Evolution - Personal information manager (GTK+ 3 med 3.x, GTK 4 med version 40.0)
- gconfig - Linux -kernel kilde konfigurationsværktøj.
- Geany -en let cross-platform IDE og GTK tekst editor baseret på Scintilla . (Version 1.37.1 baseret på GTK+ 3.24.23, sidst med understøttelse af GTK+ 2.20+)
- GIMP - Raster grafik editor (3.0 med GTK+ 3, 2.99.4 forhåndsvisning af 3.0)
- Gnumeric - Regneark -applikation (1.12.x med GTK+ 3)
- Gramps - Slægtsforskningssoftware (4.0+ med GTK+ 3)
- Inkscape - Vektorgrafikredaktør til SVG (1.0.x med GTK+ 3)
- LiVES - Video editor (GTK+ 2.16+ eller 3)
- Midori - Minimalistisk webbrowser, der bruger GTKWebKit som gengivelsesmotor og GTK som widget -værktøjskasse (GTK+ 3)
- Pidgin - Instant messenger -applikation
Desktop -miljøer
Flere desktop -miljøer anvender GTK som widget -værktøjskasse.
Nuværende
- GNOME , baseret på GTK, hvilket betyder, at programmer hjemmehørende i GNOME bruger GTK
- Budgie , bygget fra bunden til SolusOS -efterfølgeren, Solus Operating System
- Kanel , en gaffel af GNOME 3, der bruger GTK version 3
- MATE , en gaffel af GNOME 2, der bruger GTK 3 siden version 1.18
- Xfce , baseret på GTK 3 siden version 4.14
- Pantheon bruger udelukkende GTK 3, der er udviklet af elementært OS
- Sukker , et skrivebordsmiljø for ungdoms primær uddannelse , der bruger GTK, især PyGTK
- KDE har , selvom det er baseret på Qt , integration med GTK -skrevne programmer og temaer siden version 4.2
- Phosh , en mobil brugergrænseflade designet til PureOS
Inaktiv
- Unity , det tidligere standard desktop -miljø i Ubuntu
- LXDE (Lightweight X11 Desktop Environment) er baseret på GTK 2
- Få adgang til Linux Platform (efterfølgeren til Palm OS PDA -platformen)
- Konsort, GNOME 3.4 Fallback Mode - gaffel fra SolusOS
- GPE , GPE Palmtop -miljøet
- ROX Desktop , et let skrivebord, med funktioner fra GUI for RISC OS
Diverse
GTK -programmer kan køres på desktop -miljøer baseret på X11 og Wayland, eller vinduesadministratorer, selv dem, der ikke er lavet med GTK, forudsat at de nødvendige biblioteker er installeret; dette inkluderer macOS, hvis X11.app er installeret. GTK kan også køres på Microsoft Windows , hvor det bruges af nogle populære cross-platform applikationer som Pidgin og GIMP. wxWidgets , et GUI-værktøjssæt på tværs af platforme, bruger som standard GTK på Linux. Andre porte inkluderer DirectFB (bruges f.eks. Af Debian -installationsprogrammet ) og ncurses .
Vinduesledere
Følgende vinduesadministratorer bruger GTK:
GtkSourceView
Til fremhævelse af syntaks er der GtkSourceView , "kildekode -redigeringswidget". GtkSourceView vedligeholdes af GNOME adskilt fra GTK som et bibliotek: gtksourceview . Der er planer om at omdøbe til gsv.
GtkSpell
GtkSpell er et bibliotek, der er adskilt fra GTK. GtkSpell afhænger af GTK og Enchant . Enchant er en indpakning til ispell, hunspell osv., Den egentlige stavekontrolmotor /software. GtkSpell bruger GTK's GtkTextView -widget til at fremhæve stavefejl og tilbyde udskiftning.
Eksempel
Dokumentation findes her:
Følgende kode præsenterer en grafisk GTK hej-verden program i sproget C programmering . Dette program har et vindue med titlen "Hej, verden!" og en etiket med lignende tekst.
// helloworld.c
#include <gtk/gtk.h>
/* Callback that will be called when the application is activated */
static void
activate_callback(GApplication *app, gpointer user_data)
{
GtkWidget *window;
GtkWidget *label;
/* Create the main, top level window */
window = gtk_window_new();
/* Give it the title */
gtk_window_set_title(GTK_WINDOW(window), "Hello, world!");
/* Set the window's default size */
gtk_window_set_default_size(GTK_WINDOW(window), 200, 100);
/* Assign the variable "label" to a new GTK label,
* with the text "Hello, world!" */
label = gtk_label_new("Hello, world!");
/* Plot the label onto the main window */
gtk_window_set_child(GTK_WINDOW(window), label);
/* Make the application aware of the window.
* The application process will continue to run until all
* windows are closed */
gtk_application_add_window(GTK_APPLICATION(app), GTK_WINDOW(window));
/* Make sure that everything, window and label, are visible */
gtk_widget_show(window);
}
int main (int argc, char *argv[])
{
/* Create our test application */
GtkApplication *application = gtk_application_new("org.wikipedia.gtktest", 0);
/* Connect our handler to the "activate" callback, which will be called
* when the application is activated by the user, e.g. on first start */
g_signal_connect(application, "activate", G_CALLBACK(activate_callback), NULL);
/* Run the application and return its status */
return g_application_run(G_APPLICATION(application), argc, argv);
}
Skal installere bibliotekerne først i Debian eller derivater:
$ sudo apt-get install libgtk-4-dev
Ved hjælp af pkg-config i en Unix-shell kan denne kode kompileres med følgende kommando:
$ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld
Tilkald programmet:
$ ./helloworld
Historie
Linux
GTK blev oprindeligt designet og brugt i GNU Image Manipulation Program (GIMP) som en erstatning for Motif -værktøjskassen; på et tidspunkt blev Peter Mattis utilfreds med Motif og begyndte at skrive sit eget GUI -værktøjskit ved navn GIMP -værktøjskassen og havde med succes erstattet Motif med 0.60 -frigivelsen af GIMP. Endelig blev GTK omskrevet til at være objektorienteret og blev omdøbt til GTK+. Dette blev først brugt i 0,99 -frigivelsen af GIMP. GTK blev efterfølgende vedtaget til vedligeholdelse af GNOME Foundation , som bruger det i GNOME -skrivebordsmiljøet.
GTK 2.0.0-udgivelsesserien introducerede nye funktioner, der inkluderer forbedret tekstgengivelse ved hjælp af Pango , en ny temamotor , forbedret tilgængelighed ved hjælp af tilgængelighedsværktøjskassen , overgang til Unicode ved hjælp af UTF-8- strenge og en mere fleksibel API. Fra og med version 2.8 afhænger GTK 2 af grafikbiblioteket i Kairo til gengivelse af vektorgrafik.
GTK version 3.0.0 inkluderede revideret input enhedshåndtering, understøttelse af temaer skrevet med CSS -lignende syntaks og evnen til at modtage oplysninger om andre åbnede GTK -applikationer.
'+' Blev droppet tilbage til simpelthen 'GTK' i februar 2019 under et Hackathon .
macOS
Med Quartz -Backend GTK er tilgængelig i macOS .
Windows
- Efter GTK 2.24.10 og 3.6.4 blev udviklingen af Windows med Installer lukket af Gnome. Installation af MSYS2 på Windows er en god måde at bruge egentlig GTK på.
- GTK 2.24.10 og 3.6.4 er tilgængelig på Internettet, men meget buggy og begrænset til faktiske versioner.
- En version til Windows 64-bit er udarbejdet af Tom Schoonjans med 2.24.33 (faktisk som Linux) og 3.24.24 (faktisk som Linux) fra januar 2021.
- Windows 10's Fall Creators Update indeholder Windows Subsystem til Linux (WSL). Med Linux -distributioner som Ubuntu eller Debian tilgængelig fra Windows Store og en X -server som Xming eller VcXsvr, kan tusindvis af programmer som GTK 2 eller 3 køre med X eller terminal support.
OpenVMS
HP erklærede, at deres mål var at flette de nødvendige OpenVMS -ændringer i GTK Version 1.3 -udviklingsstrømmen, men dette blev aldrig til noget. Den seneste version af GTK til OpenVMS er version 1.2.10.
GTK 4
En af de kardinalnyheder, der blev implementeret under GTK 4 -udviklingscyklussen (dvs. GTK 3.92 osv.), Har været delegering af funktionalitet til hjælpegenstande i stedet for at indkodere den til de basisklasser, der leveres af GTK.
- hændelseshåndteringen fra signalhåndterere beskrevet af GtkWidget er delegeret til hændelsescontrollere
- gengivelsen er delegeret til GtkSnapshot -objekter
- layoutmekanismen fra GtkWidget er delegeret til GtkLayoutManager
I 2018-januar-26 på DevConf.cz gav Matthias Clasen et overblik over den daværende nuværende status for GTK 4-udviklingen, herunder en forklaring på højt niveau om, hvordan gengivelse og input fungerede i GTK 3, hvilke ændringer der blev foretaget i GTK 4, og årsagerne til disse ændringer. Eksempler på ting, der er blevet mulige med GTK 4, blev også givet.
Udgivelser
Legende:
Gammel version
Ældre version, stadig vedligeholdt
Nyeste version
Seneste eksempelversion
Fremtidig udgivelse
|
|||||||
Udgivelsesserie | Første udgivelse | Store forbedringer | Seneste mindre version | ||||
---|---|---|---|---|---|---|---|
1.0 | 1998-04-13 | Første stabile version | 1.0.6 | ||||
1.2 | 1999-02-25 | Nye widgets :
|
1.2.10 | ||||
2.0 | 2002-03-11 |
GObject
Samlet understøttelse af UTF-8 |
2.0.9 | ||||
2.2 | 2002-12-22 | Multihead support | 2.2.4 | ||||
2.4 | 2004-03-16 | Nye widgets:
|
2.4.14 | ||||
2.6 | 2004-12-16 | Nye widgets:
Den sidste, der understøtter Windows 98 / Me |
2.6.10 | ||||
2.8 | 2005-08-13 | De fleste widgets gengives af Kairo | 2.8.20 | ||||
2.10 | 2006-07-03 | Nye widgets:
Udskrivningsunderstøttelse: GtkPrintOperation |
2.10.14 | ||||
2.12 | 2007-09-14 | GtkBuilder | 2.12.12 | ||||
2.14 | 2008-09-04 | JPEG 2000 belastningsunderstøttelse | 2.14.7 | ||||
2.16 | 2009-03-13 | Ny widget: GtkOrientable
Caps Lock -advarsel ved indtastning af adgangskode Forbedringer på GtkScale, GtkStatusIcon, GtkFileChooser |
2.16.6 | ||||
2.18 | 2009-09-23 | Ny widget: GtkInfoBar
Forbedring af filvælger, udskrivning For at fjerne meget af den nødvendige IPC mellem X11-applikationen og X11-serveren omskrives GDK (hovedsageligt af Alexander Larsson) til at bruge "vinduer på klientsiden", dvs. GdkWindow, som hver widget skal have, tilhører nu klienten |
2.18.9 | ||||
2,20 | 2010-03-23 | Nye widgets:
Forbedring af filvælger, tastaturhåndtering, GDK Introspektionsdata er nu inkluderet i GTK |
2.20.1 | ||||
2,22 | 2010-09-23 |
GdkPixbuf flyttet til separat modul
De fleste GDK -tegninger er baseret på Kairo Mange interne data er nu private og kan forsegles som forberedelse til GTK 3 |
2.22.1 | ||||
2,24 | 2011-01-30 | Ny widget: GtkComboBoxText
CUPS print backend kan sende udskriftsjob som PDF GtkBuilder har fået støtte til tekstmærker og menuværktøjsknapper, og mange rettelser til introspektionskommentarer blev tilføjet |
2.24.32 (2018-01-08) |
||||
3.0 | 2011-02-10 | Udvikling og design af GTK 3 -udgivelsen af værktøjskassen startede i februar 2009 under GTK Theming Hackfest i Dublin
Afsluttede for det meste Project Ridley
Al gengivelse udføres ved hjælp af Kairo GDK blev mere X11 agnostiker XInput2, tema API er baseret på Cascading Style Sheets (CSS), hvilket forringer den opnåelige ydelse for 60 Hz billedhastigheder |
3.0.12 | ||||
3.2 | 2011-09-25 | Nye widgets:
Ny dialogboks til valg af skrifttyper Nye eksperimentelle backends: |
3.2.4 | ||||
3.4 | 2012-03-26 | Menusupport i GtkApplication
En ny farvevælger Tilføjet understøttelse af berøringsenheder Tilføjet support til jævn rulning GtkScrolledWindow foretager kinetisk rulning med berøringsenheder macOS -understøttelse er forbedret Dette er den første version af GTK 3, der fungerer godt på Windows Wayland -backend opdateres til den aktuelle Wayland -version Spin -knapper har fået et nyt look Tilgængelighed: understøttelse af trævisninger, der er tilgængelig, omskrives Mere komplet CSS -temaunderstøttelse |
3.4.4 | ||||
3.6 | 2012-09-24 | Nye widgets:
Lodrette drejeknapper CSS -animationer, sløring af skygger Understøttelse af krydsfading og overgange i temaer |
3.6.5 | ||||
3.8 | 2013-03-25 | Wayland 1.0 stabil support
Understøttelse af broadwayd -serveren Forbedret tema Bedre geometrihåndtering Touch forbedringer Understøttelse med vindueshåndteringen til rammesynkroniseringsprotokollen GdkFrameClock tilføjet |
3.8.9 | ||||
3.10 | 2013-09-23 | Nye widgets:
Support til Wayland 1.2
Tilføjet:
Fjernet:
Riv menupunkter af, plus mange GTK-indstillinger |
3.10.9 | ||||
3.12 | 2014-03-25 | Dekorationer på klientsiden
Support til Wayland 1.5 Ny widget: GtkPopover (et alternativ til menuer og dialoger) |
3.12.2 | ||||
3.14 | 2014-09-22 |
GtkInspector (en kopi af gtkparasite) introduceret
Forbedret understøttelse af gestus / multi-touch fusioneret Udfaset:
De fleste widgets konverteres til at bruge gestus internt Wayland understøtter klassisk GNOME Shell -tilstand |
3.14.15 | ||||
3.16 | 2015-03-22 | GDK understøtter gengivelse af vinduer ved hjælp af OpenGL til X11 og Wayland ved hjælp af libepoxy
Nye widgets:
Rulleoverhaling ( rullepanel skjult som standard) Eksperimentel Mir -backend |
3.16.7 | ||||
3.18 | 2015-09-23 | Tilføj CSS -nodeinfrastruktur
Mere filechooser design opdatering og bedre filechooser søgning Faldet Windows XP -support Modelunderstøttelse til liste og flowboks Kinetic touchpad scrolling Touchpad -bevægelser (Wayland) gtk-builder-værktøj Kun output-vinduer |
3.18.9 | ||||
3,20 | 2016-03-21 | Yderligere integration af CSS -noder
Flyt træk og slip til GDK Ny widget: GtkShortcutsWindow (viser tastaturgenveje og fagter i et program) |
3.20.10 | ||||
3,22 | 2016-09-21 | Sidste 3.x udgivelse
Understøttelse af Wayland -tablet er slået sammen, understøttelse af grafiske tablets anses for at være fuldført GTK 3.22 skal være lige så stenstabil (og dermed "kedelig") som GTK 2 |
i 3+ år 3.22.29 |
||||
3,24 | 2018-09-03 | 3.22 skulle være den sidste version af GTK 3 -serien
Afhængighedsstød - kræver:
Nye funktioner til valg af skrifttyper:
Nye Emoji -funktioner:
Andre nye API'er: gdk_window_move_to_rect Wayland: brug anonym delt hukommelse på FreeBSD Backported event controllere fra GTK 4:
Udfas et par API'er, der er væk i GTK 4:
|
3.23.0 3.23.1 3.23.2 3.23.3 3.24.0 … 3.24.5 3.24.14 … |
||||
3,90 | 2017-03-31 |
GTK Scene Graph Kit (GSK) fusioneret
Fjern enhver API, der er markeret som forældet Kraftig udvikling
|
3.89.1 |
||||
3,92 | 2017-10-18 | Da GNOME 3.26 blev frigivet allerede den 13. september 2017, var det ikke baseret på GTK 3.92.
GNU autotools blev erstattet med Meson . |
3.91.0 |
||||
3,94 | 2018-06-26 | 3,93
GdkWindow omdøbt til GdkSurface Ny abstraktion til tegneligt indhold: GdkPaintable Der er understøttelse af visning af medier med:
|
3,93 3,94,0 |
||||
3,96 | 2019-05-07 | Kommandoen gtk4-builder-tool simplify har fået en --3to4mulighed for at konvertere GTK3 ui-filer til GTK4; dog med AMTK -menuer, værktøjslinjer eller andre objekter som GtkShortcutsWindow oprettes programmatisk (ikke med en *.ui -fil), men med praktiske API'er.
GtkWidget kan nu bruge en GtkLayoutManager til størrelsesallokering
Fokushåndtering er blevet omskrevet, og fokusændringshændelsesgenerering er blevet forenet med krydsende begivenheder Begivenheder er blevet forenklet og bruges bare til input:
|
3,96,0 | ||||
3,98 | 2020-02-10 |
|
3,98,5 | ||||
3,99,0 | 2020-07-31 |
|
3,99,4 | ||||
4.0 | 2020-12-16 | 4.0.2 | |||||
4.2 | 2021-03-30 | ||||||
4.4 | 2021-08-23 |
Se også
- Dekoration på klientsiden
- Liste over widgetværktøjer
- GDK -GIMP Drawing Kit ligger mellem xlib og GTK-biblioteket og håndterer grundlæggende gengivelse såsom tegningsprimitiver, rastergrafik (bitmaps), markører, skrifttyper samt vinduehændelser og træk-og-slip-funktionalitet
- gtkmm - C ++ bindinger til GTK
- Qt - tværplatformsramme og værktøjskasse
- Xojo -udviklingsværktøj og rammer på tværs af platforme
- Enlightenment Foundation Libraries (EFL) - widget -værktøjskasse skrevet til Oplysningsvindue -manager
- FLTK -en let, tvær-platform, ikke-native widget-værktøjskasse
- FOX-værktøjskasse -en hurtig, open source, cross-platform widget-værktøjskasse
- IUP -en multi-platform værktøjskasse til opbygning af indfødte grafiske brugergrænseflader
- Ultimate ++
- Visual Component Library (VCL)
- Vala -et objektorienteret programmeringssprog med en selvhostende compiler, der genererer C-kode og bruger GObject-systemet.
- wxWidgets - et grænseoverskridende GUI -værktøjskasse, hvis mål er at bruge hver platforms native grafiske API direkte, når det er muligt.
Referencer
Bibliografi
- Krause, Andrew (23. april 2007), Foundations of GTK+ Development (1. udgave), Apress , ISBN 978-1-59059-793-4
- Wright, Peter (15. maj 2000), Beginning GTK+ og GNOME (1. udgave), Peer Information , ISBN 978-1-86100-381-2
- Logan, Syd (6. september 2001), Gtk+ Programmering i C (1. udgave), Prentice Hall , ISBN 978-0-13-014264-1
eksterne links