GTK
![]() Logo programu | |||
![]() | |||
Pierwsze wydanie | 1.0.0 – 14 kwietnia 1998; ponad 26 lat temu | ||
---|---|---|---|
Aktualna wersja stabilna | 4.14.6 (26 sierpnia 2024) [±] | ||
Aktualna wersja testowa | 4.13.0 | ||
System operacyjny | BSD, Linux, macOS, Solaris, Windows i inne | ||
Rodzaj | Biblioteka programistyczna | ||
Licencja | GNU LGPL | ||
| |||
Strona internetowa |
GTK, wcześniej: The GIMP Toolkit[1], GTK+[2] – biblioteka służąca do tworzenia interfejsu graficznego do programów komputerowych[3].
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 i 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[4]. W bibliotece tej napisanych jest wiele programów dla środowiska GNOME[potrzebny przypis].
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 DirectFB(inne języki)).
Historia
Biblioteka GTK pierwotnie stworzona została na potrzeby programu GIMP, stąd też nazwa, pochodząca od ang. The GIMP Toolkit. Znak + pojawił się w nazwie, gdy autorzy dodali do oryginalnego GTK możliwość programowania obiektowego[5].
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 Xft(inne języki),
- zaawansowany system wyświetlania i manipulacji tekstem (Pango),
- obsługa wielu języków jednocześnie,
- metody wprowadzania niezależne od X Input Method(inne języki),
- 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ż
Przypisy
- ↑ GIMP Toolkit - openSUSE Wiki [online], tr.opensuse.org [dostęp 2023-12-13] .
- ↑ Project rename to "GTK" [online], mail.gnome.org [dostęp 2024-01-21] .
- ↑ GTK — The GTK toolkit [online], 22 grudnia 2023 [dostęp 2023-12-22] (ang.).
- ↑ GTK+ Language Bindings. [dostęp 2014-07-19]. [zarchiwizowane z tego adresu (2011-07-13)]. (ang.).
- ↑ What is the + in GTK+?. [dostęp 2014-07-19]. (ang.).
Linki zewnętrzne
- GTK+ 3 Reference Manual (ang.)
- p
- d
- e
Niskopoziomowe |
| ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wysokopoziomowe |
|