GTK (anterior GTK+), sau The GIMP Toolkit, este o bibliotecă care cuprinde elemente de control și un sistem de dezvoltare a interfețelor grafice. Este unul dintre cele mai populare astfel de sisteme pentru X Window System și Wayland, alături de Qt.

GTK+ a fost creat inițial pentru GIMP, un editor de imagini bitmap, în 1997, de către Spencer Kimball, Peter Mattis și Josh MacDonald. Licențiat sub LGPL, GTK+ este software liber și parte din Proiectul GNU.

Limbaje de programare GTK+ folosește limbajul C. În ciuda faptului că acesta este un limbaj procedural, GTK folosește GObject pentru a implementa un sistem de programare orientată pe obiecte. Poate fi accesat din mai limbaje diferite, de obicei integrat cu sintaxa acestora. Exemple:

C++ (gtkmm) D (giD) Go (gotk4) Java (java-gi) Guile (G-Golf) JavaScript (GJS) Perl (Gtk2-perl) Python (PyGObject; PyGTK este depășit de acesta) Rust (gtk-rs) Vala (nu e necesar adaptor, deoarece limbajul funcționează pe baza GObject)

Diverși dezvoltatori au scris interfețe pentru multe alte limbaje de programare, precum Ada, D, Fortran, Haskell, Ocaml, Pascal, PHP, Pike, Tcl, Euphoria și toate limbajele de programare din sistemul .NET.

Există și limbaje scrise pentru GTK+, printre care: GOB2 și Vala.

Spre deosebire de alte sisteme de interfață grafică, dar asemenea Qt, GTK+ nu este bazat pe Xt. Avantajul acestui fapt este că permite GTK+ să fie disponibil și pe alte sisteme și să fie mai flexibil. Dezavantajul este că nu are acces la baza de date de resurse X, care este metoda tradițională de a personaliza programele pentru X11.

Începând cu GTK 4, majoritatea elementelor de interfață sunt desenate folosind GTK Scene Graph Kit (GSK), ceea ce permite accelerarea hardware folosind o unitate de procesare grafică (dacă acest lucru nu este posibil, poate folosi Cairo). În versiunile anterioare, desenul era realizat direct cu biblioteca Cairo.

wxWidgets este un sistem abstract de interfețe grafice ce folosește GTK+ când este compilat pentru sisteme Unix. .

Platforme GTK+ a fost inițial scris pentru X Window System, încă acceptat, însă acum platforma principală este Wayland. Alte platforme sunt Microsoft Windows și MacOS. Mai există și posibilitatea folosirii pe platforme precum Android, însă este experimentală.

Medii desktop care utilizează GTK+ right|thumb|300px|Captură de ecran cu GIMP 2.0. GTK+ este responsabil de componentele interfeței grafice a programului, incluzând meniuri, butoane, câmpuri de editate, etc. GNOME folosește GTK+ ca bază, ceea ce înseamnă că programele scrise pentru GNOME folosesc GTK+. Xfce de asemenea folosește GTK+ ca bază, totuși programele sale nu depind de foarte multe librării. Cinnamon MATE OpenMoko

Aceste medii desktop nu sunt necesare pentru a rula programe GTK+. Dacă bibliotecile necesare programului sunt instalate, un program GTK+ poate rula și în alte medii precum KDE sau un manager de ferestre-X11-plus. GTK+ poate rula și sub Microsoft Windows, fiind folosit de unele programe populare precum Pidgin și GIMP.

Managere de ferestre Xfwm4 și Marco (manager de ferestre) folosesc GTK+ 3.

Utilități ne-grafice GTK+ a conținut inițial unele rutine care nu erau legate de grafică, care în prezent au fost mutate într-o bibliotecă separată, Glib, pe care dezvoltatorii o pot folosi pentru cod ce nu necesită interfață grafică.

GTK+ 2

Glade permite dezvoltarea de interfețe dintr-un mediu vizual, asemenea Visual Basic. Elementele în afară de grafică au fost mutate în GLib și Gio.

GTK+ 3

Desenul se face acum cu Cairo. Această serie a fost prima care a rulat pe Wayland și prima în care Cascading Style Sheets este metoda de stilizare. În diversele versiuni minore au fost adăugate numeroase controale noi.

GTK 4

Poate desena cu accelerare grafică. Unele aplicații GNOME folosesc acum biblioteca libadwaita, care oferă controale special create pentru acest mediu.

Dezvoltări viitoare

Listă de sisteme de interfețe grafice wxWidgets Qt Motif FLTK FOX toolkit Visual Component Framework

Referințe

Legături externe

Pagina oficială GTK+ GTK+ runtime and DevCpp package (under Windows) GTK+ for Win32, also offers a Glade port Gtk+ for Mac OS X , a native port to be used without X11 Foundations of GTK+ Development , book on GTK+ 2 development

Categorie:GNOME Categorie:Programe UNIX Categorie:Software cu sursă deschisă Categorie:Software liber Categorie:Software pentru Linux