thumb|GTK, egy programkönyvtár

A GTK, más néven The GIMP Toolkit a legelterjedtebb vezérlőelem-készletek egyike az X Window System alatt. Kezelőfelületek tervezésére szolgál, mint a Qt vagy a Motif.

A GTK-t eredetileg a GIMP képszerkesztő szoftverhez fejlesztette Spencer Kimball, Peter Mattis és John MacDonald – a berkeley-i Kaliforniai Egyetem eXperimental Computing Facility tagjai. Az LGPL szerződés értelmében a GTK szabad szoftver, és a GNU projekt része.

Programozási nyelvek

A GTK a C programozási nyelvet használja a GObject rendszerrel, de más programnyelvekre is vannak portjai, például C++ra (gtkmm), Perlre, Pythonra (pyGTK), Rubyra és Javára. A GTK-server segítségével bármilyen IO képességekkel rendelkező nyelvvel használható stream alapú IPC kommunikáció segítségével. Vannak direkt a GTK-hoz írt nyelvek, mint a GOB2 és a Vala.

Sok vezérlőelem-készlettel ellentétben nem az Xt-n alapul, ezért több rendszeren használható, és nagyobb rugalmasságot tesz lehetővé. Emiatt viszont nem vezérelhető a megszokott X erőforrás fájlokkal, mint a többi (régebbi) X11-es vezérlőelem-készlet.

Kinézet A felhasználó a GTK-t különböző „meghajtókkal” (engine) szabhatja testre. Ezek a meghajtók képesek más környezetek kinézetét utánozni (például Microsoft Windows, Motif, Qt vagy NEXTSTEP. Egyes meghajtók, illetve a GTK 3 alapértelmezetten is témákkal tehető egyénivé. A témák egyszerűen telepíthetők a gnome-tweak-tool segítségével. A szöveges formátumleírást és képállományokat tartalmazó témák könnyen módosíthatóak, a ~/.themes könyvtárba helyezve akár személyre is szabhatóak.

GTK-t használó környezetek right|thumb|300px|A GIMP működés közben. A felhasználói felület előállításához a GTK-t használja

A wxWidgets platformfüggetlen kezelőfelületek Unix rendszereken a GTK-t használják. Xfce desktop-környezet "könnyűsúlyú" (kis erőforrás igényű) asztali környezet GNOME desktop-környezet (saját kiegészítésekkel) ROX desktop-környezet GPE Palmtop Environment desktop-környezet hordoszható eszközökre Maemo, a Nokia internet-készülék felhasználói felülete Access Linux Platform, a Palm OS utódja OLPC laptopok kezelőfelüleze

Azonban ezek a környezetek nem szükségesek ahhoz, hogy GTK-os programokat futtassunk. Amennyiben a szükséges GTK programkönyvtárak telepítve vannak, a GTK-os programok használhatók KDE és Mac OSX alatt, sőt, ha a program támogatja, akár Microsoft Windows alatt is (erre példa a GIMP és a Pidgin üzenetküldő).

Nem grafikai funkciók A GTK-ban számos programozást megkönnyítő funkció volt megtalálható, mint struktúrák tárolása és kapcsolt listák létrehozása (GObject néven). Ezeket különválasztották, és ma a Glib programkönyvtárban találhatóak meg.

GTK 2 A GTK 2 a GTK utódja. Fejlettebb szövegrendereléssel (a Pangóval), új, témákat kezelő meghajtóval, a fogyatékos embereket segítő funkciókkal, és teljes UTF-8 támogatással bővült. A GTK 2 azonban nem kompatibilis elődjével, tehát a GTK-t használó programok futtatásához az 1-es verziót is telepíteni kell.

A 2.8-as verziótól a GTK a Cairo könyvtárat használja a vektoros grafikák rendereléséhez és a legtöbb vezérlőelem megrajzolásához.

GTK 3

A 2010. április elsején kiadott 2.20-as verzióval a 2.x sorozat fejlesztése véget ér, már csak hibajavító kiadások várhatóak. A fejlesztés a 2009-ben indult GTK 3-ra összpontosított, amelynek fejlesztési kódneve eredetileg Project Ridley volt.

A GTK 3 számos külső könyvtárat integrált a GTK-szal, már teljes mértékben a Cairóra alapozva. Az alapértelmezett témakezelés a webes CSS leírást használja. Az új vezérlőelemek mellett jelentős újdonság az OpenGL és Wayland támogatás. A GTK 3-ra való átállás nem zökkenőmentes, például a LibreOffice irodai programcsomag GTK 3-as kísérleti változata 2015-ben vált „használhatóvá” a Red Hat Linux fejlesztéseinek köszönhetően.

GTK 4 2012. december 16-án jelentette be a fejlesztői közösség a GTK 4.0 kiadását. Ebben többek között a beépített médialejátszás, skálázható listák, shaderek vagy a megújított drag-and-drop kezelés jelent meg.

Fejlesztés a GTK-szal Kezelőfelületek megtervezése a programkódban igencsak hely- és időigényes feladat. Ezért ajánlatos a Glade felülettervező és programkönyvtár használata, amivel grafikusan (mint például a Visual Basicben) tervezhetjük meg a kezelőfelületet.

Lásd még wxWidgets Motif Qt Enlightenment Foundation Libraries

További információk

GTK honlap GTK+ for Win32, a GTK windows portja Glade-del Gtk+ for Mac OS X, natív port a macOS-re Foundations of GTK Development , egy könyv a GTK-val való fejlesztéshez GTK 2.0 tutorial GTK 2.0 Tree View Tutorial GTK API GTK Drawing Model Keresztplatformos programozás GTK-val GTK programozás C nyelven GTK Tutorial - magyar fordítás Pere László - A GNU/Linux programozása grafikus felületen

Jegyzetek

Kategória:GNU projektek Kategória:Szabad szoftverek Kategória:Linux Kategória:API-k Kategória:GNOME Kategória:Nyílt forrású szoftverek Kategória:Függvénytárak