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



    Podstrony: 1 [2] [3]
    Przeczytaj także...
    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.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.

    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.

    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.

    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.Microsoft Windows (ang. windows „okna”, IPA: [maɪkɹoʊsɑːft ˈwɪndoʊz]) – rodzina systemów operacyjnych stworzonych przez firmę Microsoft. Systemy rodziny Windows działają na serwerach, systemach wbudowanych oraz na komputerach osobistych, z którymi są najczęściej kojarzone.

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

    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.wxWidgets - biblioteka klas C++, która pozwala na tworzenie oprogramowania dedykowanego dla różnych środowisk graficznych.

    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).
  • Przykładowy kod[ | edytuj kod]

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

    Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców. 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.
    #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):

    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ń.Virtual International Authority File (VIAF) – międzynarodowa kartoteka haseł wzorcowych. Jej celem jest ujednolicenie zapisu nazw osobowych (haseł), dlatego zbiera z bibliotek z całego świata – ich różne wersje i prezentuje je razem, pod jednym, unikatowym identyfikatorem numerycznym. Pozwala to obniżyć koszty i zwiększyć użyteczność danych gromadzonych przez biblioteki. Informacje po dopasowaniu i połączaniu są udostępniane online bibliotekom na całym świecie.
    #!/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()
    


    Podstrony: 1 [2] [3]




    Warto wiedzieć że... beta

    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+.
    ATK (ang. Accessibility Toolkit) – biblioteka odpowiedzialna za ułatwienia dostępności w środowisku graficznym GNOME.
    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.
    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.
    GIMP (ang. GNU Image Manipulation Program) – bezpłatny, otwartoźródłowy program do edycji grafiki rastrowej. Pozwala na operacje takie jak m.in. retusz, skalowanie, rysowanie, dodawanie tekstu, umożliwiając pracę na warstwach i kanałach, dostosowywanie interfejsu czy tworzenie skryptów automatyzujących niektóre czynności.

    Reklama

    Czas generowania strony: 1.943 sek.