gtkmm

gtkmm
gtkmm
GTK-Logo
Entwickler Murray Cumming, Daniel Elstner
Aktuelle Version 3.2.0
(27. September 2011)
Betriebssystem UNIX, GNU/Linux, Microsoft Windows
Programmier­sprache C++
Kategorie Komponentenbibliothek
Lizenz LGPL (Freie Software)
Deutschsprachig ja
gtkmm.org

gtkmm ist eine freie C++-Programmbibliothek für die Erstellung grafischer Benutzeroberflächen (GUI). Sie ist eine Anbindung des in der Programmiersprache C geschriebenen GIMP-Toolkits an C++ und als solche die bedeutendste extern entwickelte Anbindung von Gtk+.

Die Bezeichnung gtkmm steht für gtk-- (gtk minus minus), den ursprünglichen Namen des Projektes.

Die gtkmm-Bibliothek steht unter der freien Lizenz LGPL und ist dadurch eine kostenlose Lösung auch für grafische Closed Source-Programme unter Linux und Unix.

Inhaltsverzeichnis

Änderungen gegenüber Gtk+

Die Bibliothek kapselt unter anderem das GObject-System in eine funktionsgleiche C++-Klassenhierarchie. In der C++-Variante der Glib, glibmm, werden die Funktionen und Strukturen weitgehend durch Äquivalente aus der C++-Standardbibliothek ersetzt.

Typsichere Rückruffunktionen (Signal-Slot-Konzept) realisiert gtkmm über die Bibliothek libsigc++.

Programmierbeispiel

Das Ergebnis des Beispielprogrammes, kompiliert mit g++ `pkg-config --cflags --libs gtkmm-2.4` beispiel.cc

Das folgende Beispiel erzeugt ein Fenster mit einem Beschriftungsfeld (Label) und einer Schaltfläche (Button). Letzteres wird mithilfe der libsigc++ mit der quit-Funktion verbunden, so dass das Programm bei einem Klick auf den Button beendet wird. Die beiden Widgets werden anschließend in einem Gtk+-typischen Container, einer vertikalen Box, untergebracht. Diese Box wird im Fenster schließlich angezeigt.

#include <gtkmm.h>
using namespace Gtk;
 
int main(int argc, char *argv[]) {
    Main kit(argc, argv);
 
    Window window;
    window.set_title("Beispiel");
    window.set_border_width(15);
 
    Label hello("Hallo Welt!");
    Button quit_button(Stock::QUIT);
    quit_button.signal_clicked().connect(sigc::ptr_fun(&Gtk::Main::quit));
 
    VBox box(false, 15);
    box.add(hello);
    box.add(quit_button);
 
    window.add(box);
    window.show_all();
    Main::run(window);
    return 0;
}

Benutzeroberflächen können mit gtkmm entweder explizit programmiert oder, wie bereits Gtk+-Oberflächen, mit Hilfe des Programms Glade erstellt werden.

Verwendung

In gtkmm geschrieben Programme laufen auf allen Plattformen, auf denen auch Gtk+ läuft (unter anderem Mac OS X und Microsoft Windows), wobei das Toolkit nicht primär zur Cross-Platform-Entwicklung gedacht ist, sondern im Bereich der Unix-Derivate (wie Linux) beheimatet ist.

Eine populäre Anwendung, die gtkmm benutzt, ist Inkscape.

Alternativen

Der Funktionsumfang der gtkmm-Bibliothek ist in etwa vergleichbar mit dem der etwas bekannteren Bibliothek Qt. Anders als Qt enthält sie allerdings keine Funktionen, die über die GUI-Programmierung hinausgehen.

Vergleichbare in C++ geschrieben Grafikbibliotheken sind ferner, mit ähnlichem Funktionsumfang, wxWidgets. FLTK ist im Umfang erheblich geringer.

Siehe auch

Weblinks

Wikibooks Wikibooks: GTK – Lern- und Lehrmaterialien

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • GTKmm — Entwickler: Murray Cumming, Daniel Elstner Aktuelle Version: 2.16.x (März 2008) …   Deutsch Wikipedia

  • Gtkmm — Entwickler: Murray Cumming, Daniel Elstner Aktuelle Version: 2.16.x (März 2008) …   Deutsch Wikipedia

  • Gtkmm — Développeur The gtkmm Team Dernière version …   Wikipédia en Français

  • Gtkmm — gtkmm  официальный C++ интерфейс для GUI библиотеки GTK+. Включает слоты и сигналы с проверкой типов во время компиляции (благодаря библиотеке libsigc++), наследование виджетов с использованием стандартного способа C++ и полный набор… …   Википедия

  • gtkmm — gtkmm  официальный C++ интерфейс для GUI библиотеки GTK+. Включает слоты и сигналы с проверкой типов во время компиляции (благодаря библиотеке libsigc++), наследование виджетов с использованием стандартного способа C++ и полный набор… …   Википедия

  • Gtkmm — (gtk or gtk minus minus) is the official C++ interface for the popular GUI library GTK+. gtkmm is free software distributed under the GNU Lesser General Public License (LGPL).gtkmm allows the creation of user interfaces either in code or with the …   Wikipedia

  • Cairo (Bibliothek) — Cairo Basisdaten Entwickler: Das Cairo Team Aktuelle Version: 1.8.6 (13. Dezem …   Deutsch Wikipedia

  • GIMP-Toolkit — Entwickler: Das GTK+ Team Aktuelle Version: 2.16.1 (12. April 2009) …   Deutsch Wikipedia

  • GIMP Toolkit — Entwickler: Das GTK+ Team Aktuelle Version: 2.16.1 (12. April 2009) …   Deutsch Wikipedia

  • GTK2 — GIMP Toolkit Entwickler: Das GTK+ Team Aktuelle Version: 2.16.1 (12. April 2009) …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”