Gtk: Język programowania

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

GTK
Logo GTK
Logo programu
ilustracja
Pierwsze wydanie 1.0.0 – 14 kwietnia 1998; ponad 26 lat temu
Aktualna wersja stabilna 4.14.3
(19 kwietnia 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 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. 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.

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   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

Linki zewnętrzne

Tags:

Gtk HistoriaGtk PrzykładyGtk Zobacz teżGtk PrzypisyGtk Linki zewnętrzneGtkBiblioteka programistycznaGraficzny interfejs użytkownikaOprogramowanie

🔥 Trending searches on Wiki Polski:

Donald TuskMistrzostwa świata w piłce nożnej mężczyznCzesław MiłoszRoman PolańskiMagda GesslerLista państw świata według PKB nominalnego per capitaNiemcyJaponiaPartie polityczne w PolsceAnia RusowiczOrganizacja Narodów ZjednoczonychLeonardo da VinciEmily RatajkowskiRzeczpospolita Obojga NarodówAngliaFriedrich NietzscheAugust II MocnyBor PavlovčičŚredniowieczeGrecjaWyspy OwczeGrzegorz MazurekPola RaksaSłowacjaII wojna światowaPiotr Wysocki (muzyk)WiosnaJakub ZdrójkowskiAlbert EinsteinZayn MalikKamil KulaSukcesja (serial telewizyjny)Céline DionMałgorzata RożniatowskaStatua WolnościJan III SobieskiAdam MickiewiczMandżuriaKaja GodekPodział administracyjny WarszawyJanina GossPragaJüri UluotsAmazon.comNATOŚwiat według KiepskichJózef TuskPoczta PolskaJ.R.R. TolkienUran zubożonyJózef StalinReal MadrytVolkswagen GolfMikołaj II RomanowBarcelonaAkcja „Burza”Kot domowyMiędzynarodowy Trybunał KarnyLiga Mistrzów w piłce siatkowej (2022/2023)GdyniaIranLista państw AfrykiStrona głównaT-72BiałoruśXXxGrzegorz KrychowiakLublinKazimierz III WielkiPalestyna (państwo)OmanDonald TrumpStambułKu Klux KlanPies domowyRadomStefan ŻeromskiJózef PiłsudskiWolnomularstwo🡆 More