gtkmm
gtkmm – biblioteka, będąca interfejsem programistycznym dla biblioteki graficznej GTK+, który przenosi mechanizmy działania napisanej w języku C biblioteki GTK+ do C++. Zadaniem tej biblioteki jest ułatwienie programowania interfejsu graficznego poprzez obsługę widgetów jako obiektów z własnymi metodami. Dostępne są wszystkie mechanizmy programowania obiektowego, takie jak dziedziczenie, polimorfizm, przestrzenie nazw i inne ułatwienia wprowadzone przez język C++. Biblioteka wykorzystuje mechanizm sygnałów i slotów (konkretnie libsigc++) do obsługi zdarzeń, takich jak np. kliknięcie myszką.
Gtkmm należy traktować jako „nakładkę” (wzorzec projektowy adapter) na bibliotekę GTK+, która nie wnosi nowej funkcjonalności elementów graficznych, a jedynie umożliwia sterowanie nimi z poziomu języka C++. Z gtkmm można korzystać zarówno pisząc bezpośrednio kod w języku C++, jak i poprzez wykorzystanie programu Glade, który umożliwia graficzne tworzenie interfejsów i generuje kod gtkmm z wykorzystaniem biblioteki libglademm, umożliwijącej dynamiczne generowanie interfejsu użytkownika na podstawie opisu w formacie XML.
Obecnie biblioteka gtkmm działa na wielu systemach operacyjnych, między innymi na systemach z rodziny Unix, Linux, OS X, BSD, Solaris i Windows.
Nazwa biblioteki powstała przez dodanie do nazwy GTK dwóch liter „m”, które oznaczają dwa minusy. GTK+ ma już w swojej nazwie znak „+” więc autorzy wybrali dla odróżnienia dwa znaki „-”. Pierwotnie nazwa biblioteki była zapisywana Gtk--, ale problemy z obsługą takiej nazwy przez wyszukiwarki spowodowały, że zastąpiono ją wersją z dwoma „m”.
Przykładowy kod
Przykładowy kod wyświetlający puste okienko:
#include <gtkmm.h>
class Okno : public Gtk::Window
{
public:
Okno()
{
set_title("Gtkmm");
set_position(Gtk::WIN_POS_CENTER);
}
virtual ~Okno() { }
};
int main(int argc, char* argv[])
{
Gtk::Main kit(argc, argv);
Okno okno;
kit.run(okno);
return 0;
}
Zobacz też
Linki zewnętrzne
Media użyte na tej stronie
Autor:
This file was made by User:Sven | ||
Translation If this image contains text, it can be translated easily into your language. If you need help, contact me |
Flexible licenses If you want to use this picture with another license than stated below, contact me |
Contact the author
If you need a really fast answer, mail me. If you need only a fast answer, write me here. |
This is a screenshot from a short gtkmm example program written for the german wikipedia article de:Gtkmm.