GTK+
GTK+ (www.gtk.org) to biblioteka przeznaczona do pisania oprogramowania wykorzystującego graficzny interfejs użytkownika wydana na licencji GNU LGPL.
Wieloplatfomowość
edytujGTK+ jest biblioteką wieloplatformową, wykorzystuje ona natywne API danego systemu do tworzenia graficznego interfejsu.
Odwzorowuje naturalny wygląd interfejsu danego systemu oraz wspiera mechanizm tzw. skórek, pozwalający na modyfikacje wyglądu.
Programy w niej napisane działają na systemach :
Programy
edytujGTK jest podstawą popularnego środowiska graficznego GNOME oraz Xfce dla systemu Linux, FreeBSD, Solaris i innych typu Unix.
Najpopularniejsze z programów korzystających z Gtk to :
Początkowo biblioteka była pisana na potrzeby programu GIMP. Nazwa GTK+ wywodzi się od The GIMP Toolkit. Znak "+" dodano, gdy wprowadzono obiektową architekturę do biblioteki, mimo, iż napisana jest w języku C (język C). W rozwoju biblioteki pomagają takie korporacje jak RedHat, Novell, Imendio (obecnie Lanedo GmbH) oraz Open Hand.
Języki programowania
edytujProgramy w GTK+ można pisać w wielu językach dzięki takim wrapperom jak :
Powstał nawet nowy język Vala o podobnej składni do języka C# aby ułatwić pisanie programów dla GNOME. Jego kod jest kompilowany do kodu w języku C.
GTK+ jest również wykorzystywane w urządzeniach mobilnych, np. telefonach komórkowych. Obsługuje wielonarodowość dzięki wykorzystaniu kodowania UTF-8. Popularna biblioteka wxWidgets umożliwiająca pisanie aplikacji wieloplatformowych do odwzorowania interfejsu graficznego na systemach Unix wykorzystuje GTK+. Zostały w nim napisane takie programy jak aMule, Code::Blocks, FileZilla, Audacity.
Istnieje również narzędzie do szybkiego budowania interfejsu dla programów - Glade.
Części
edytujGTK+ składa się z wielu części.
Biblioteki GLib, w której zaimplementowano podstawowe struktury danych, GObject wprowadza obiektowy model typów. Za rysowanie tekstu odpowiada biblioteka Pango. Opcje ułatwień dostępu wspiera biblioteka ATK. GdkPixbuf umożliwia manipulację obrazami w aplikacjach GTK+. GDK GTK+ Drawing Kit jest tym elementem, który w znacznym stopniu odpowiada za przenośność biblioteki. Zajmuje się on właściwym rysowaniem kontrolek wykorzystując do tego natywne funkcje systemu. GIO to abstrakcyjny model dostępu do zasobów dyskowych.
Modułowa budowa biblioteki pozwala na dodawane nowych bibliotek. Cairo obsługuje wyświetlanie grafiki wektorowej. Clutter wykorzystuje OpenGL w celu wzbogacenia wizualnych możliwości wyświetlanych kontrolek GTK+.
Obecnie do pisania programów z graficznym interfejsem użytkownika w systemie GNU/Linux wykorzystuje się głównie dwie biblioteki, Qt oraz GTK+. Qt powstała wcześniej, obecnie nad jej rozwojem pracuje firma Nokia. Jest podstawą środowiska KDE.
1. Pierwsze kroki
edytuj- 1.1 Struktura programu GTK+ ( C i Python)
- 1.2 Kompilacja pod systemem Windows
- 1.3 Glade - budowniczy interfejsu
- 1.4 Szkielet programu GTK+ w języku C++
2. Przykładowe programy
edytuj- Kalkulator
- Kalkulator w C++
- Film demonstrujący na YouTube Kalkulator 0.0.1 - example cross-platform graphic applications in GTK+