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żliwiają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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.