GTK, wcześniej: , GTK+ – biblioteka służąca do tworzenia interfejsu graficznego do programów komputerowych.

GTK została napisana w C, aczkolwiek jest zaprojektowana obiektowo, w oparciu o implementację obiektowości dla C – GObject. Z biblioteki GTK można korzystać przy pomocy większości języków programowania. Dla C++ istnieje biblioteka gtkmm będąca nakładką na GTK wprowadzającą wygodniejszą składnię w stylu C++ (m.in. wykorzystanie tzw. pól i metod na obiektach GTK), jak również biblioteka Gtk# będąca nakładką umożliwiającą wykorzystanie GTK na platformie .NET. Dla języka Ada została stworzona biblioteka GtkADA, umożliwiająca pełny dostęp do funkcjonalności GTK. PyGTK to biblioteka stworzona do obsługi języka Python. W bibliotece tej napisanych jest wiele programów dla środowiska GNOME.

Biblioteka ta jest podstawą dla środowisk graficznych GNOME i Xfce. Na platformie uniksowej sama wykorzystuje bibliotekę GDK (odpowiedzialną za rysowanie obiektów) oraz GLib, zawierającą specjalne typy danych. Dzięki takiemu odseparowaniu GTK od systemu graficznego (w przypadku Uniksa jest to przeważnie X Window System) biblioteką bezpośrednio odpowiedzialną za interakcję z systemem graficznym, możliwe było łatwe przeportowanie GTK na inne niż uniksowe architektury (np.: Microsoft Windows oraz linuksowy ).

Historia Biblioteka GTK pierwotnie stworzona została na potrzeby programu GIMP, stąd też nazwa, pochodząca od . Znak + pojawił się w nazwie, gdy autorzy dodali do oryginalnego GTK możliwość programowania obiektowego.

Zmiany w wersji GTK 2.0 GTK przeszło duże zmiany w wersji 2.0. Do nich należą: pełna obsługa kodowania UTF-8, obsługa wygładzania czcionek i , zaawansowany system wyświetlania i manipulacji tekstem (Pango), obsługa wielu języków jednocześnie, metody wprowadzania niezależne od , system wspomagania dla osób niepełnosprawnych (ATK).

Przykłady Przykładowy kod w języku C wyświetlający puste okienko:

#include <gtk/gtk.h>

int main(int argc, char* argv[]) { GtkWidget* window;

gtk_init(&argc, &argv);

window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), "GTK"); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);

gtk_widget_show(window);

g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

gtk_main();

return 0; }

Przykładowy kod w języku Python ładujący okienko z pliku w formacie GtkBuilder (zob. Glade):

#!/usr/bin/env python import gtk

if __name__ == '__main__': builder = gtk.Builder() builder.add_from_file('window.glade') builder.connect_signals(globals()) window = builder.get_object('window') window.connect('destroy', gtk.main_quit) window.show() gtk.main()

Zobacz też gtkmm Glade PyGTK Qt Ultimate++ wxWidgets Clutter

Przypisy

Linki zewnętrzne GTK+ 3 Reference Manual

Kategoria:Biblioteki graficzne Kategoria:GNU

Kategoria:Wolne oprogramowanie napisane w C