GTK - GTK
Autori originali | Spencer Kimball , Peter Mattis |
---|---|
Dezvoltatori | Proiectul GNOME , instalația de calcul eXperimental (XCF) |
Eliberarea inițială | 14 aprilie 1998 |
Versiune stabila | 4.4.0 / 23 august 2021
|
Previzualizare lansare | 4.3.1 / 9 iunie 2021
|
Repertoriu | |
Scris in | C , CSS |
Sistem de operare | Linux , Unix-like , macOS , Windows |
Tip | Set de instrumente Widget |
Licență | LGPLv2.1 + |
Site-ul web | gtk |
GTK (fost GIMP ToolKit, apoi GTK + ) este un set de instrumente cu platformă gratuită și open-source pentru crearea de interfețe grafice de utilizator (GUI). Este licențiat în conformitate cu termenii licenței publice generale mai mici GNU , permițând software-ului gratuit și proprietar să-l folosească. Este unul dintre cele mai populare seturi de instrumente pentru sistemele de ferestre Wayland și X11 .
Echipa GTK lansează noi versiuni în mod regulat. GTK 4 și GTK 3 sunt întreținute, în timp ce GTK 2 este la sfârșitul vieții.
Arhitectura software
Biblioteca GTK conține un set de elemente grafice de control ( widget-uri ); versiunea 3.22.16 conține 186 de widgeturi active și 36 de widget-uri depreciate. GTK este un set de instrumente widget orientat obiect scris în limbajul de programare C ; folosește GObject , adică sistemul de obiecte GLib , pentru orientarea obiectului. În timp ce GTK este destinat în principal sistemelor de ferestre bazate pe X11 și Wayland , acesta funcționează pe alte platforme, inclusiv Microsoft Windows (interfațat cu API-ul Windows ) și macOS (interfațat cu Quartz ). Există, de asemenea, un back-end HTML5 numit Broadway .
GTK poate fi configurat pentru a schimba aspectul widgeturilor desenate; acest lucru se face folosind diferite motoare de afișare. Există mai multe motoare de afișare care încearcă să imite aspectul widgeturilor native de pe platforma utilizată.
Începând cu versiunea 2.8, lansată în 2005, GTK a început tranziția către utilizarea Cairo pentru a reda majoritatea widgeturilor elementelor sale de control grafic . Începând cu versiunea GTK 3.0, toate randările se fac folosind Cairo.
Pe 26 ianuarie 2018 la DevConf.cz , Matthias Clasen a prezentat o imagine de ansamblu asupra stării actuale a dezvoltării GTK 4, inclusiv o explicație la nivel înalt a modului în care a funcționat redarea și intrarea în GTK 3, ce modificări se fac în GTK 4 (> 3,90 ), și de ce. La 6 februarie 2019, s-a anunțat că GTK 4 va renunța la „+” din numele proiectului.
Set de desen GTK (GDK)
GDK acționează ca un wrapper în jurul funcțiilor de nivel scăzut furnizate de ferestrele de bază și sistemele grafice.
GDK se găsește în /gdk
director.
GTK Scene Graph Kit (GSK)
GSK este API-ul de redare și scenă pentru GTK. GSK se află între elementele de control grafic (widget-uri) și redare. GSK a fost în cele din urmă fuzionat în versiunea GTK 3.90 lansată în martie 2017.
GSK se găsește în /gsk
director.
GtkInspector
GtkInspector a fost introdus cu versiunea 3.14. GtkInspector poate fi invocat numai după instalarea pachetului de dezvoltare libgtk-3-dev / gtk + -devel .
Designeri GUI
Există mai mulți designeri GUI pentru GTK. Următoarele proiecte sunt active din iulie 2011:
- Glade , acceptă GtkBuilder , care este un format de descriere GUI încorporat GTK.
- Gazpacho , constructor GUI pentru setul de instrumente GTK scris în Python
- Crow Designer, se bazează pe propriul format GuiXml și biblioteca GuiLoader.
- Stetic , parte a MonoDevelop , orientată spre Gtk # .
- Gambas de la versiunea 2.0 în vârful BASIC
- Xojo pe Linux
- Lazarus pe Linux implicit este interfața cu GTK 2
GtkBuilder
GtkBuilder permite proiectarea interfețelor utilizator fără a scrie cod. Interfața este descrisă într-un fișier Extensible Markup Language (XML), care este apoi încărcat la runtime și obiectele create automat. Glade Interface Designer permite crearea interfeței de utilizator într-un mod pe care îl vedeți ( WYSIWYG ). Descrierea interfeței cu utilizatorul este independentă de limbajul de programare utilizat.
Legături de limbă
Legările de limbă sunt disponibile pentru utilizarea GTK din alte limbi decât C, inclusiv C ++ , Genie , JavaScript , Perl , Python , Vala și altele .
GtkSharp, care nu trebuie confundat cu Gtk #, acceptă GTK 3.
Gtk #
Dezvoltatori | Xamarin |
---|---|
Eliberarea inițială | 12 martie 2004 |
Versiune stabila | 2.12.41 / 22 septembrie 2016
|
Previzualizare lansare | 2.99.3 (pentru GTK3) / 6 iunie 2014
|
Repertoriu | |
Scris in | C # , XML , Perl , C |
Sistem de operare | Windows , macOS , Linux |
Tip | Set de instrumente Widget |
Licență | Licență publică generală mai mică GNU |
Site-ul web | mono-proiect |
GTK # este un set de NET Framework legări pentru GTK interfață grafică cu utilizatorul (GUI) , setul de instrumente și asortate GNOME biblioteci . Biblioteca facilitează crearea de aplicații grafice GNOME utilizând Mono sau orice alt tip de limbă comună (CLR). Gtk # este un sistem bazat pe evenimente, ca orice altă bibliotecă modernă de ferestre, în care fiecare widget permite asocierea metodelor de gestionare, care sunt apelate atunci când apar anumite evenimente.
Aplicațiile construite folosind Gtk # vor rula pe multe platforme, inclusiv Linux , Windows și macOS . Pachetele Mono pentru Windows includ GTK, Gtk # și o temă nativă pentru a face aplicațiile să arate ca aplicații Windows native. Începând cu Mono 1.9, rularea aplicațiilor Gtk # pe macOS nu mai necesită rularea unui server X11 .
Glade Interface Designer poate fi utilizat cu legăturile Glade # pentru a proiecta cu ușurință aplicații GUI. Un designer GUI numit Stetic este integrat cu mediul de dezvoltare integrat MonoDevelop (IDE).
În plus față de suportul stivei standard de instrumente de dezvoltare GTK / GNOME, ansamblul gtk-dotnet.dll oferă o punte pentru consumarea funcționalității disponibile în stiva .NET. În acest moment, aceasta include funcționalitatea de a utiliza System.Drawing pentru a desena pe un widget.
Începând cu septembrie 2020, suportul Gtk # pentru Gtk3 rămâne în faza de previzualizare și proiectele forțate , cum ar fi GtkSharp , au fost fondate pentru a oferi suport Gtk3 complet pentru C # și alte limbi CLI. Lipsa unei versiuni lansate de Gtk # cu suport pentru Gtk3 a fost citată ca motiv pentru eliminarea playerului media Banshee din Ubuntu 12.04.
Dezvoltare
GTK este dezvoltat în principal de Proiectul GNOME , care dezvoltă și platforma de dezvoltare GNOME și mediul desktop GNOME.
Dezvoltarea GTK este slab gestionată. Discuția are loc în principal pe mai multe liste de discuții publice. Dezvoltatorii și utilizatorii GNOME se reunesc la o reuniune anuală a Conferinței Europene a Utilizatorilor și Dezvoltatorilor GNOME GUADEC pentru a discuta despre starea actuală și direcția viitoare a GNOME. GNOME încorporează standarde și programe de la freedesktop.org pentru a interoperă mai bine cu alte desktopuri.
GTK este scris în principal în C . Sunt disponibile multe legături lingvistice .
La 1 septembrie 2016, o postare pe blogul de dezvoltare GTK denota, printre altele, viitoarea schemă de numerotare a GTK. Versiunea GTK 3.22 din toamna anului 2016 va fi ultima versiune 3.x. Versiunea 3.24 a fost introdusă în toamna anului 2018 cu întârzierea GTK 4. După aceea, toate resursele vor trece la seria de dezvoltare GTK 4 cu numele versiunilor 3.90, 3.92 etc. Chiar dacă seria 4.x intră în dezvoltare, aplicațiile notabile folosesc în continuare GTK 2.x și nu au fost portate la 3.22. În ceea ce privește viitorul software-urilor vechi care folosesc GTK , nu a existat un proiect colectiv care să porteze software-ul GTK 2.x la 3.22. Versiunea 3.24 este acceptată pe termen lung și baza reală și viitoare a programelor precum gimp 3.0 și Inkscape 1.0. Deci, pentru dezvoltatori este alegerea stabilă GTK 3.24 cu remedierea erorilor sau GTK 4 cu modificări și caracteristici noi în dezvoltarea viitoare.
Automatizarea construcției
GTK (și GNOME, GLib etc.) a folosit anterior sistemul GNU Build (denumit Autotools) ca sistem de automatizare al construcției la alegere.
Începând cu 14 august 2017, filiala principală a GTK a fost construită cu Meson , iar fișierele de sistem de construire Autotools au fost abandonate.
Critică
Cea mai frecventă critică a GTK este lipsa compatibilității cu versiunile anterioare în actualizările majore, în special în interfața de programare a aplicațiilor (API) și tematică.
Pauzele de compatibilitate între versiunile minore în timpul ciclului de dezvoltare GTK 3.x au fost explicate de Benjamin Otte ca urmare a presiunilor puternice de inovare, cum ar fi furnizarea caracteristicilor pe care utilizatorii moderni le așteaptă și sprijinirea protocolului de server de afișare Wayland din ce în ce mai influent . Odată cu lansarea GTK 4, presiunea din nevoia de a inova va fi eliberată, iar echilibrul dintre stabilitate și inovație se va înclina spre stabilitate. În mod similar, modificările recente ale tematicii sunt destinate în mod special îmbunătățirii și stabilizării acelei părți a API-ului, ceea ce înseamnă că unele investiții ar trebui acum recompensate ulterior.
- Dirk Hohndel, codeveloper de Subsurface și membru al Intel Open-Source Technology Center lui, a criticat dezvoltatorii GTK pentru a fi abraziv și ignorând cele mai multe cereri comunitare.
- Hong Jen Yee, dezvoltator LXDE (a cărui versiune GTK a fost renunțată și toate eforturile s-au concentrat asupra portului Qt ), și-a exprimat disprețul față de versiunea 3 a modificărilor radicale API ale kitului de instrumente GTK și utilizarea sporită a memoriei și a portat PCMan File Manager (PCManFM) la Qt . PCManFM este dezvoltat în același timp cu un GTK și cu un backend Qt.
- Audacious music player -ul sa mutat la Qt în versiunea 3.6. Motivele declarate de dezvoltatori pentru acest lucru includ o tranziție către decorațiile de ferestre din partea clientului, despre care susțin că fac ca aplicația să arate „ GNOME -y și deplasată”.
- Wireshark a trecut la Qt din cauza faptului că nu a avut o experiență bună cu suportul multipiatformat al GTK.
Utilizare
Aplicații
Unele aplicații notabile care utilizează sau au folosit odată GTK ca set de instrumente widget includ:
- Aplicații de bază GNOME - ca parte a mediului desktop GNOME , dezvoltat în colaborare cu GTK în sine.
- AbiWord - Procesor de text (3.0+ cu GTK + 3)
- Anjuta - Mediu de dezvoltare integrat (IDE) (GTK + 3)
- Ardor - Stație de lucru audio digitală
- Chromium - browser web (până la versiunea 34, înlocuită de Aura în versiunea 35+)
- Ekiga (fost GnomeMeeting) - aplicație de conferință video și VoIP
- GNU Emacs poate folosi GTK atunci când rulează pe X. (GTK + 3 cu 24.2+)
- Evolution - Manager de informații personale (GTK + 3 cu 3.x, GTK 4 cu versiunea 40.0)
- gconfig - utilitar de configurare a sursei de kernel Linux .
- Geany - un editor de text ușor cross-platform IDE și GTK bazat pe Scintilla . (Versiunea 1.37.1 bazată pe GTK + 3.24.23, ultima cu suport pentru GTK + 2.20+)
- GIMP - Editor grafic raster (3.0 cu GTK + 3, 2.99.4 previzualizare 3.0)
- Gnumeric - Aplicație foaie de calcul (1.12.x cu GTK + 3)
- Gramps - Software de genealogie (4.0+ cu GTK + 3)
- Inkscape - Editor grafic vectorial pentru SVG (1.0.x cu GTK + 3)
- LiVES - Editor video (GTK + 2.16+ sau 3)
- Midori - browser web minimalist care folosește GTKWebKit ca motor de redare și GTK ca set de instrumente widget (GTK + 3)
- Pidgin - Instant Messenger cerere
Medii desktop
Mai multe medii desktop utilizează GTK ca set de instrumente widget.
Actual
- GNOME , bazat pe GTK, adică programele native GNOME folosesc GTK
- Budgie , construit de la zero pentru succesorul SolusOS, Solus Operating System
- Scorțișoară , o furcă a GNOME 3 care folosește versiunea GTK 3
- MATE , o furcă a GNOME 2 care folosește GTK 3 de la versiunea 1.18
- Xfce , bazat pe GTK 3 de la versiunea 4.14
- Pantheon folosește exclusiv GTK 3, fiind dezvoltat de sistemul de operare elementar
- Sugar , un mediu desktop pentru educația primară pentru tineri , care folosește GTK, în special PyGTK
- KDE , deși se bazează pe Qt , are integrare cu programele și temele scrise GTK de la versiunea 4.2
- Phosh , un UI mobil conceput pentru PureOS
Inactiv
- Unity , fostul mediu de lucru implicit al Ubuntu
- LXDE (Lightweight X11 Desktop Environment) se bazează pe GTK 2
- Accesați platforma Linux (succesorul platformei Palm OS PDA )
- Consort, GNOME 3.4 Fallback Mode - furcă de la SolusOS
- GPE , GPE Palmtop Environment
- ROX Desktop , un desktop ușor, cu funcții din interfața grafică a sistemului de operare RISC
Diverse
Programele GTK pot fi rulate pe medii desktop bazate pe X11 și Wayland, sau manageri de ferestre chiar și pe cele care nu sunt realizate cu GTK, cu condiția ca bibliotecile necesare să fie instalate; aceasta include macOS dacă este instalat X11.app . GTK poate fi, de asemenea, rulat pe Microsoft Windows , unde este utilizat de unele aplicații cross-platform populare precum Pidgin și GIMP. wxWidgets , un set de instrumente GUI pe mai multe platforme, utilizează GTK pe Linux în mod implicit. Alte porturi includ DirectFB (folosit de instalatorul Debian , de exemplu) și ncurses .
Managerii de ferestre
Următorii manageri de ferestre folosesc GTK:
GtkSourceView
Pentru evidențierea sintaxei există GtkSourceView , „widget de editare cod sursă”. GtkSourceView este întreținut de GNOME separat de GTK ca bibliotecă: gtksourceview . Există planuri de redenumire în gsv.
GtkSpell
GtkSpell este o bibliotecă separată de GTK. GtkSpell depinde de GTK și Enchant . Enchant este un wrapper pentru ispell, hunspell , etc., motorul / software-ul actual de verificare a ortografiei . GtkSpell folosește widget-ul GtkTextView al GTK, pentru a evidenția cuvintele scrise greșit și pentru a oferi înlocuirea.
Exemplu
Documentația este disponibilă aici:
Următorul cod prezintă un grafic GTK salut din lumea de program în limbajul de programare C . Acest program are o fereastră cu titlul "Bună, lume!" și o etichetă cu text similar.
// 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);
}
Necesită instalarea bibliotecilor mai întâi în Debian sau derivate:
$ sudo apt-get install libgtk-4-dev
Folosind pkg-config într-un shell Unix , acest cod poate fi compilat cu următoarea comandă:
$ cc -Wall $(pkg-config --cflags --libs gtk4) helloworld.c -o helloworld
Invocați programul:
$ ./helloworld
Istorie
Linux
GTK a fost proiectat și utilizat inițial în Programul de manipulare a imaginilor GNU (GIMP) ca înlocuitor al setului de instrumente Motif ; la un moment dat, Peter Mattis s-a dezamăgit de Motif și a început să scrie propriul său set de instrumente GUI numit setul de instrumente GIMP și a înlocuit cu succes Motif cu lansarea de 0,60 a GIMP. În cele din urmă, GTK a fost rescris pentru a fi orientat obiect și a fost redenumit GTK +. Acest lucru a fost folosit pentru prima dată în versiunea 0.99 a GIMP. GTK a fost ulterior adoptat pentru întreținere de către Fundația GNOME , care o folosește în mediul desktop GNOME.
Seria de versiuni GTK 2.0.0 a introdus noi caracteristici care includ redarea textului îmbunătățită folosind Pango , un nou motor tematic , accesibilitate îmbunătățită folosind Accessibility Toolkit , tranziția la Unicode folosind șiruri UTF-8 și un API mai flexibil. Începând cu versiunea 2.8, GTK 2 depinde de biblioteca grafică Cairo pentru redarea graficii vectoriale.
Versiunea 3.0.0 GTK a inclus manipularea revizuită a dispozitivelor de intrare, suport pentru teme scrise cu sintaxă de tip CSS și posibilitatea de a primi informații despre alte aplicații GTK deschise.
„+” A fost renunțat la „GTK” în februarie 2019 în timpul unui Hackathon .
macOS
Cu Quartz -Backend GTK este disponibil în macOS .
Windows
- După GTK 2.24.10 și 3.6.4 Dezvoltarea Windows cu Installer a fost închisă de Gnome. Instalarea MSYS2 pe Windows este o modalitate bună de a utiliza GTK real.
- GTK 2.24.10 și 3.6.4 este disponibil în Internet, dar foarte buggy și limitat la versiunile actuale.
- O versiune pentru Windows pe 64 de biți este pregătită de Tom Schoonjans cu 2.24.33 (actual ca Linux) și 3.24.24 (actual ca Linux) din ianuarie 2021 disponibile.
- Actualizarea Fall Creators pentru Windows 10 include subsistemul Windows pentru Linux (WSL). Cu distribuții Linux precum Ubuntu sau Debian disponibile din Windows Store și un server X precum Xming sau VcXsvr, mii de programe precum GTK 2 sau 3 pot rula cu X sau suport terminal.
OpenVMS
HP a declarat că obiectivul lor a fost să îmbine modificările OpenVMS necesare în fluxul de dezvoltare GTK Versiunea 1.3, însă acest lucru nu s-a concretizat niciodată. Cea mai recentă versiune a GTK pentru OpenVMS este versiunea 1.2.10.
GTK 4
Una dintre noutățile cardinale implementate în timpul ciclului de dezvoltare GTK 4 (adică GTK 3.92 etc.) a fost delegarea funcționalității către obiecte auxiliare în loc să o codifice în clasele de bază furnizate de GTK.
- gestionarea evenimentelor de la gestionarele de semnal descrise de GtkWidget este delegată controlerelor de evenimente
- redarea este delegată obiectelor GtkSnapshot
- mecanismul de aspect din GtkWidget este delegat către GtkLayoutManager
În 2018-26 ianuarie la DevConf.cz, Matthias Clasen a oferit o prezentare generală a stării actuale a dezvoltării GTK 4, inclusiv o explicație la nivel înalt a modului în care funcționează redarea și intrarea în GTK 3, ce modificări au fost aduse GTK 4, și motivele acestor schimbări. Au fost date și exemple de lucruri care au devenit posibile cu GTK 4.
Lansări
Legendă:
Versiune veche
Versiune mai veche, încă menținută
Ultima versiune
Ultima versiune de previzualizare
Lansare viitoare
|
|||||||
Seria de lansare | Eliberarea inițială | Îmbunătățiri majore | Ultima versiune minoră | ||||
---|---|---|---|---|---|---|---|
1.0 | 13.04.1998 | Prima versiune stabilă | 1.0.6 | ||||
1.2 | 25.02.1999 | Widgeturi noi :
|
1.2.10 | ||||
2.0 | 11-03-2002 |
GObject
Suport general pentru UTF-8 |
2.0.9 | ||||
2.2 | 22.12.2002 | Suport multi-cap | 2.2.4 | ||||
2.4 | 16.03.2004 | Widgeturi noi:
|
2.4.14 | ||||
2.6 | 2004-12-16 | Widgeturi noi:
Ultimul care acceptă Windows 98 / Me |
2.6.10 | ||||
2.8 | 13.08.2005 | Majoritatea widgeturilor sunt redate de Cairo | 2.8.20 | ||||
2.10 | 03.07.2006 | Widgeturi noi:
Suport pentru imprimare: GtkPrintOperation |
2.10.14 | ||||
2.12 | 14.09.2007 | GtkBuilder | 2.12.12 | ||||
2.14 | 04.09.2008 | Suport de încărcare JPEG 2000 | 2.14.7 | ||||
2.16 | 13.03.2009 | Widget nou: GtkOrientable
Avertizare Blocare majuscule la introducerea parolei Îmbunătățiri pe GtkScale, GtkStatusIcon, GtkFileChooser |
2.16.6 | ||||
2.18 | 23.09.2009 | Widget nou: GtkInfoBar
Îmbunătățirea alegerii fișierelor, imprimare Pentru a elimina o mare parte din IPC-ul necesar între aplicația X11 și serverul X11, GDK este rescris (în principal de Alexander Larsson) pentru a utiliza „Windows-side windows”, adică GdkWindow, pe care trebuie să o aibă fiecare widget, aparține acum clientului |
2.18.9 | ||||
2.20 | 23.03.2010 | Widgeturi noi:
Îmbunătățiri în alegerea fișierelor, gestionarea tastaturii, GDK Datele de introspecție sunt acum incluse în GTK |
2.20.1 | ||||
2.22 | 23-09-2010 |
GdkPixbuf sa mutat în modul separat
Majoritatea desenelor GDK se bazează pe Cairo Multe date interne sunt acum private și pot fi sigilate în pregătirea pentru GTK 3 |
2.22.1 | ||||
2.24 | 30.01.2011 | Widget nou: GtkComboBoxText
Backup-ul de imprimare CUPS poate trimite lucrări de tipărire în format PDF GtkBuilder a câștigat suport pentru etichete text și butoane de meniu și au fost adăugate multe remedieri de adnotare introspecțională |
2.24.32 (08.01.2018) |
||||
3.0 | 10.02.2011 | Dezvoltarea și proiectarea versiunii GTK 3 a setului de instrumente a început în februarie 2009 în cadrul GTK Theming Hackfest desfășurat la Dublin
Finalizat în mare parte Project Ridley
Toată redarea se face folosind Cairo GDK a devenit mai agnostic X11 XInput2, API-ul temei se bazează pe foi de stil în cascadă (CSS), înrăutățind performanța realizabilă pentru cadrele de 60 Hz |
3.0.12 | ||||
3.2 | 25-09-2011 | Widgeturi noi:
Noul dialog de selectare a fonturilor Backend-uri experimentale noi: |
3.2.4 | ||||
3.4 | 26.03.2012 | Suport pentru meniu în GtkApplication
Un nou selector de culori Suport adăugat pentru dispozitive tactile Suport adăugat pentru derularea lină GtkScrolledWindow va face derulare cinetică cu dispozitive tactile suportul macOS este îmbunătățit Aceasta este prima versiune a GTK 3 care funcționează bine pe Windows Backend-ul Wayland este actualizat la versiunea actuală Wayland Butoanele de rotire au primit un aspect nou Accesibilitate: suportul accesibil pentru vizualizarea copacilor este rescris Suport tematic CSS mai complet |
3.4.4 | ||||
3.6 | 2012-09-24 | Widgeturi noi:
Butoane de rotire verticale Animații CSS, estompează umbrele Suport pentru decolorare încrucișată și tranziții în teme |
3.6.5 | ||||
3.8 | 25.03.2013 | Suport stabil Wayland 1.0
Suport pentru serverul broadwayd Îmbunătățirea tematicii O mai bună gestionare a geometriei Atingeți îmbunătățiri Suport cu managerul de ferestre pentru protocolul de sincronizare a cadrelor S-a adăugat GdkFrameClock |
3.8.9 | ||||
3.10 | 23-09-2013 | Widgeturi noi:
Suport pentru Wayland 1.2
Adăugat:
Îndepărtat:
Elemente de meniu înlăturate, plus multe setări GTK |
3.10.9 | ||||
3.12 | 25.03.2014 | Decorațiuni de partea clientului
Suport pentru Wayland 1.5 Widget nou: GtkPopover (o alternativă la meniuri și dialoguri) |
3.12.2 | ||||
3.14 | 22.09.2014 |
A fost introdus GtkInspector (o copie a gtkparasite)
Suport îmbunătățit pentru gesturi / multi-atingere îmbinate Învechit:
Majoritatea widgeturilor au fost convertite pentru a utiliza gesturile pe plan intern Wayland acceptă modul clasic GNOME Shell |
3.14.15 | ||||
3.16 | 22.03.2015 | GDK acceptă redarea ferestrelor folosind OpenGL pentru X11 și Wayland folosind libepoxy
Widgeturi noi:
Derulare revizuită ( bara de derulare ascunsă implicit) Backend Mir experimental |
3.16.7 | ||||
3.18 | 23-09-2015 | Adăugați o infrastructură de nod CSS
Mai multă reîmprospătare a designului filechooser și o mai bună căutare filechooser A renunțat la suportul pentru Windows XP Suport model pentru casetă listă și flux Defilare cu touchpad cinetic Gesturi cu touchpad (Wayland) utilitar gtk-builder-tool Ferestre numai pentru ieșire |
3.18.9 | ||||
3.20 | 21.03.2016 | Integrarea ulterioară a nodurilor CSS
Mutați glisați și fixați în GDK Widget nou: GtkShortcutsWindow (afișează comenzile rapide de la tastatură și gesturile unei aplicații) |
3.20.10 | ||||
3.22 | 21.09.2016 | Ultima versiune 3.x
Suportul pentru tablete Wayland este fuzionat, suportul pentru tablete grafice este considerat complet GTK 3.22 trebuie să fie la fel de rock (și, prin urmare, „plictisitor”) ca GTK 2 |
pentru 3+ ani 3.22.29 |
||||
3.24 | 03.09.2018 | 3.22 trebuia să fie ultima versiune a seriei GTK 3
Deficiențe de dependență - necesită:
Funcții noi de selectare a fonturilor:
Noi caracteristici Emoji:
Alte API-uri noi: gdk_window_move_to_rect Wayland: utilizați memorie partajată anonimă pe FreeBSD Controlere de evenimente backportate de la GTK 4:
Dezaprobați câteva API-uri care au dispărut în 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 | 31.03.2017 |
GTK Scene Graph Kit (GSK) a fuzionat
Eliminați orice API marcat ca depreciat Dezvoltare grea
|
3.89.1 |
||||
3,92 | 2017-10-18 | Deoarece GNOME 3.26 a fost lansat deja pe 13 septembrie 2017, nu a fost bazat pe GTK 3.92.
Instrumentele automate GNU au fost înlocuite cu Meson . |
3.91.0 |
||||
3,94 | 26.06.2018 | 3,93
GdkWindow redenumit în GdkSurface Abstracție nouă pentru conținut desenabil: GdkPaintable Există suport pentru afișarea conținutului media cu:
|
3,93 3,94.0 |
||||
3,96 | 2019-05-07 | Comanda gtk4-builder-tool simplify a câștigat o --3to4opțiune de a converti fișierele ui GTK3 în GTK4; deși cu meniuri AMTK, bare de instrumente sau alte obiecte precum GtkShortcutsWindow sunt create programatic (nu cu un fișier * .ui), ci cu API-uri convenabile.
GtkWidget poate folosi acum un GtkLayoutManager pentru alocarea mărimii
Tratarea focalizării a fost rescrisă, iar generarea evenimentelor de schimbare a focalizării a fost unificată cu evenimentele de încrucișare Evenimentele au fost simplificate și sunt folosite doar pentru introducere:
|
3.96.0 | ||||
3,98 | 10.02.2020 |
|
3.98.5 | ||||
3.99.0 | 31-07-2020 |
|
3.99.4 | ||||
4.0 | 16.12.2020 | 4.0.2 | |||||
4.2 | 2021-03-30 | ||||||
4.4 | 2021-08-23 |
Vezi si
- Decor pe partea clientului
- Lista seturilor de instrumente widget
- GDK - GIMP Drawing Kit se află între biblioteca xlib și GTK, gestionând redarea de bază, cum ar fi primitive de desen, grafică raster (bitmap-uri), cursori, fonturi, precum și evenimente de fereastră și funcționalitate drag-and-drop
- gtkmm - legături C ++ pentru GTK
- Qt - cadru și set de instrumente pe mai multe platforme
- Xojo - instrument și cadru de dezvoltare multiplataforma
- Bibliotecile Enlightenment Foundation (EFL) - set de instrumente widget scrise pentru managerul de ferestre Enlightenment
- FLTK - un set de instrumente widget ușor, cu platforme multiple , non-native
- Set de instrumente FOX - un set de instrumente widget rapid, open source, multiplataforma
- IUP - un set de instrumente multi-platformă pentru construirea interfețelor grafice de utilizator native
- Ultimate ++
- Biblioteca de componente vizuale (VCL)
- Vala - un limbaj de programare orientat pe obiecte, cu un compilator de auto-găzduire, care generează cod C și folosește sistemul GObject.
- wxWidgets - un set de instrumente GUI pe mai multe platforme al cărui scop este să utilizeze direct API-ul grafic nativ al fiecărei platforme ori de câte ori este posibil.
Referințe
Bibliografie
- Krause, Andrew (23 aprilie 2007), Fundamentele dezvoltării GTK + (prima ediție), Apress , ISBN 978-1-59059-793-4
- Wright, Peter (15 mai 2000), Beginning GTK + și GNOME (prima ediție), Peer Information , ISBN 978-1-86100-381-2
- Logan, Syd (6 septembrie 2001), Gtk + Programare în C (prima ediție), Prentice Hall , ISBN 978-0-13-014264-1
linkuri externe