• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • GTK

    Przeczytaj także...
    Ada to strukturalny, kompilowany, imperatywny, statycznie typowany i obiektowy język programowania opracowany przez Jean Ichbiaha i zespół z CII Honeywell Bull w latach 70. XX wieku. Język ten wygrał konkurs zorganizowany przez Departament Obrony USA (U.S. Department of Defense – DoD), pokonując 19 innych projektów. Nazwa języka, nadana przez DoD, pochodzi od imienia lady Augusty Ady Lovelace, uważanej za pierwszą programistkę w historii.Antyaliasing (ang. anti-aliasing) – zespół technik w informatyce służących zmniejszeniu liczby błędów zniekształceniowych aliasing lub schodkowania obrazu, powstających przy reprezentacji obrazu lub sygnału o wysokiej rozdzielczości w rozdzielczości mniejszej.
    .NET Framework, w skrócie .NET (wym. dot net) – platforma programistyczna opracowana przez Microsoft, obejmująca środowisko uruchomieniowe (Common Language Runtime – CLR) oraz biblioteki klas dostarczające standardowej funkcjonalności dla aplikacji. Technologia ta nie jest związana z żadnym konkretnym językiem programowania, a programy mogą być pisane w jednym z wielu języków – na przykład C++/CLI, C#, F#, J#, Delphi 8 dla .NET, Visual Basic .NET. Zadaniem platformy .NET Framework jest zarządzanie różnymi elementami systemu: kodem aplikacji, pamięcią i zabezpieczeniami. W środowisku tym można tworzyć oprogramowanie działające po stronie serwera internetowego (IIS) oraz pracujące na systemach, na które istnieje działająca implementacja tej platformy. Z racji jej pochodzenia najpełniej obsługiwane są systemy z rodziny Microsoft Windows, jednak ponieważ zasadnicza część platformy została zgłoszona jako standard ECMA, powstają także jego niezależne wdrożenia, np. Mono i dotGNU.

    GTK+biblioteka służąca do tworzenia interfejsu graficznego do programów komputerowych. Pierwotnie stworzona 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.

    Clutter to graficzna biblioteka napisana w języku programowania C. Służy do renderowania w prosty sposób szybkich animacji w interfejsie użytkownika GUI. Jej kod jest udostępniony na zasadzie open source. Clutter używa OpenGL lub OpenGL ES dla urządzeń mobilnych dzięki czemu wyświetlane za jego pomocą animacje są bardzo dobrej jakości. Biblioteka ta manipuluje obiektami w przestrzeni 3D a następnie efekt tych operacji wyświetla na tzw. scenie 2D. Clutter obsługuje również biblioteki: GLX, EGL, WGL, SDL, Cocoa. Biblioteka używa systemu obiektowego GObject.PyGTK – nakładka na bibliotekę GTK+ służąca tworzeniu interfejsu graficznego dla programów komputerowych w języku Python. PyGTK jest wolnym oprogramowaniem i jest rozpowszechniane na zasadach licencji LGPL. Twórcą biblioteki jest programista GNOME, haker James Henstridge.

    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 PyGTK jest napisanych wiele programów dla środowiska GNOME.

    wxWidgets - biblioteka klas C++, która pozwala na tworzenie oprogramowania dedykowanego dla różnych środowisk graficznych.Unix Time-Sharing System (pisane również jako UNIX, choć nie jest to skrót – nazwa „UNIX” jest kalamburem określenia Multics, który był wzorem dla Uniksa) – system operacyjny rozwijany od 1969 r. w Bell Labs (UNIX System Laboratories, USL) przez Dennisa Ritchie i Kena Thompsona. W latach 70. i 80. zdobył bardzo dużą popularność, co zaowocowało powstaniem wielu odmian i implementacji. Część z nich, w szczególności Linux oraz OS X, jest w użyciu do dziś. UNIX jest zarejestrowanym znakiem towarowym The Open Group.

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

    Programowanie obiektowe (ang. object-oriented programming) — paradygmat programowania, w którym programy definiuje się za pomocą obiektów — elementów łączących stan (czyli dane, nazywane najczęściej polami) i zachowanie (czyli procedury, tu: metody). Obiektowy program komputerowy wyrażony jest jako zbiór takich obiektów, komunikujących się pomiędzy sobą w celu wykonywania zadań.Pango jest biblioteką udostępnianą na zasadach Wolnego i Otwartego Oprogramowania, odpowiedzialną za wygląd i renderowanie tekstu. Biblioteka Pango wykorzystywana jest głównie w środowisku graficznym GNOME w powiązaniu z biblioteką GTK+.

    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,
  • zaawansowany system wyświetlania i manipulacji tekstem (Pango),
  • obsługa wielu języków jednocześnie,
  • metody wprowadzania niezależne od X Input Method,
  • system wspomagania dla osób niepełnosprawnych (ATK).
  • Graficzny interfejs użytkownika, środowisko graficzne (ang. Graphical User Interface, GUI) – ogólne określenie sposobu prezentacji informacji przez komputer oraz interakcji z użytkownikiem, polegające na rysowaniu i obsługiwaniu widżetów.ATK (ang. Accessibility Toolkit) – biblioteka odpowiedzialna za ułatwienia dostępności w środowisku graficznym GNOME.

    Przykładowy kod[]

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

    Język programowania – zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.Glade – aplikacja do wizualnego projektowania graficznego interfejsu użytkownika dla programów GTK+/GNOME. Projektowany interfejs jest zapisywany jako plik XML. Pliki w formacie GtkBuider i Libglade mogą być ładowane przez biblioteki, odpowiednio, GTK+ lub Libglade, oraz wykorzystywane w różnych językach m.in. C, C++, Java, Perl, Python, C#, Pike, Ruby lub Haskell. 12 sierpnia 2006 ukazało się wydanie Glade 3.0. Środowisko to jest wolnym oprogramowaniem dostępnym na licencji GPL.
    #!/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

    1. GTK+ 3.12 - GNOME FTP (ang.). [dostęp 2016-03-29].
    2. GTK+ 3.13 - GNOME FTP (ang.). [dostęp 2016-03-29].
    3. What is the + in GTK+? (ang.). [dostęp 2014-07-19].
    4. GTK+ Language Bindings (ang.). [dostęp 2014-07-19].

    Linki zewnętrzne[]

  • Oficjalna strona projektu GTK+
  • GTK+ Reference Manual
  • Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.UTF-8 – system kodowania Unicode, wykorzystujący od 8 do 32 bitów do zakodowania pojedynczego znaku, w pełni kompatybilny z ASCII.



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    Port – wersja programu komputerowego na inną platformę sprzętową bądź programistyczną, zazwyczaj na inną architekturę procesora lub system operacyjny. Port powstaje w wyniku przeniesienia już istniejącego kodu, ogólniej można mówić o implementacji danego programu na inną platformę.
    Biblioteka (w informatyce) – zbiór klas, funkcji (i ew. innych konstrukcji programistycznych), z których korzystają różne programy.
    Metoda – w programowaniu obiektowym podprogram składowy klasy, którego zadaniem jest działanie na rzecz określonych elementów danej klasy lub klas z nią spokrewnionych (zob. też dziedziczenie).
    C – imperatywny, strukturalny język programowania wysokiego poziomu stworzony na początku lat siedemdziesiątych XX w. przez Dennisa Ritchiego do programowania systemów operacyjnych i innych zadań niskiego poziomu.
    GObject (skrót od GLib Object System) - biblioteka programistyczna przeznaczona dla języka C, rozpowszechniana na zasadach licencji LGPL. Wchodzi w skład biblioteki GLib i podobnie jak ona jest dostępna na wielu platformach. Istnieje również możliwość używania tej biblioteki z poziomu innych języków niż C.
    X Window System – graficzny system komputerowy (system okien) stworzony w latach 80. w laboratoriach Massachusetts Institute of Technology (MIT), obecnie prace nadzoruje X.Org Foundation. Najnowszym wydaniem jest wersja 11, wydanie 7.6.
    GNOME (ang. GNU Network Object Model Environment) – graficzne środowisko użytkownika oparte na systemie X Window System oraz Widżetach GTK+ i GDK. Działa na większości systemów typu Unix.

    Reklama

    Czas generowania strony: 0.123 sek.