Die Grafikfenster 1 bis 24 basieren noch auf GTK3 und sollen auch noch dokumentiert werden. Hier gibt es jetzt die Quellcodes für Grafikfenster 8 bis 10…
GTK 3 Grafikfenster 01 bis 14:
GTK Grafikfenster 01 = erzeugt ein graues Grafikfenster mit der Abmessung 300×200
GTK Grafikfenster 02 = erzeugt ein graues Grafikfenster mit der Abmessung 600×500
GTK Grafikfenster 03 = erzeugt ein rotes Grafikfenster mit der Abmessung 600×500
GTK Grafikfenster 04 = erzeugt ein graues Grafikfenster mit dem Text “Hallo Welt“
GTK Grafikfenster 05 = erzeugt ein graues Grafikfenster mit Schaltfläche
GTK Grafikfenster 06 = erzeugt ein graues Grafikfenster mit optimierter Schaltfläche.
GTK Grafikfenster 07 = erzeugt ein graues Grafikfenster mit optimierter Schaltfläche.
GTK Grafikfenster 08 = erzeugt ein graues Grafikfenster mit optimierter Schaltfläche.
GTK Grafikfenster 09 = erzeugt ein graues Grafikfenster mit Dateimenü.
GTK Grafikfenster 10 = erzeugt ein Grafikfenster mit Hintergrundfarbe rot.
GTK Grafikfenster 11 = erzeugt ein Grafikfenster mit Hintergrundfarbe blau.
GTK Grafikfenster 12 = erzeugt ein blaues Grafikfenster mit Text [und ein defektes Dateimenü]
GTK Grafikfenster 13 = erzeugt ein Grafikfenster mit Dateimenü
GTK Grafikfenster 14 = erzeugt ein Grafikfenster mit Hintergrundfarbe “steelblue“ (#4682b4)
Der Compilerbefehl für GTK Grafikfenster 08:
Das GTK Grafikfenster ist noch GTK3 und deshalb hier nochmal der alte GTK3 Befehl:
g++ -o dateiname.out dateiname.cpp `pkg-config --cflags --libs gtk+-3.0`
Quellcode für GTK Grafikfenster 08:
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
// Initialisierung von GTK
gtk_init(&argc, &argv);
// Erstellung eines Fensters
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// Setzen des Titels und der Größe des Fensters
gtk_window_set_title(GTK_WINDOW(window), "GTK-Grafikfenster 08/2026");
gtk_window_set_default_size(GTK_WINDOW(window), 600, 500);
GtkWidget *vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL,0);
gtk_container_add(GTK_CONTAINER(window), vbox);
GtkWidget *button = gtk_button_new_with_label("Klicken Sie mich!");
gtk_widget_set_size_request(button, 50, 50);
gtk_box_pack_start(GTK_BOX(vbox), button, FALSE, FALSE, 0);
gtk_widget_show_all(window);
gtk_main();
return 0;
}
Quellcode für GTK Grafikfenster 09:
#include <gtk/gtk.h>
#include <glib/gprintf.h>
#include <string.h>
void kleine_callback (GtkWidget *w, gpointer d)
{
GtkWidget *dialog;
dialog = gtk_message_dialog_new (NULL,
GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_INFO,
GTK_BUTTONS_CLOSE, "Hallo, Welt!");
gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_destroy (dialog);
}
static const gchar * interface =
"<interface>"
"<object class=\"GtkUIManager\" id=\"uimanager\">"
"<child>"
"<object class=\"GtkActionGroup\" id=\"aktionen\">"
"<child>"
"<object class=\"GtkAction\" id=\"datei\">"
"<property name=\"label\">_Datei</property>"
"</object>"
"</child>"
"<child>"
"<object class=\"GtkAction\" id=\"neu\">"
"<property name=\"label\">_Neue Datei</property>"
"<signal name=\"activate\" handler=\"kleine_callback\"/>"
"</object>"
"</child>"
"<child>"
"<object class=\"GtkAction\" id=\"exit\">"
"<property name=\"label\">_Beenden</property>"
"<property name=\"stock-id\">gtk-quit</property>"
"<signal name=\"activate\" handler=\"gtk_main_quit\"/>"
"</object>"
"</child>"
"<child>"
"<object class=\"GtkAction\" id=\"bearbeiten\">"
"<property name=\"label\">_Bearbeiten</property>"
"</object>"
"</child>"
"</object>"
"</child>"
"<ui>"
"<menubar name=\"menubar\">"
"<menu action=\"datei\" >"
"<menuitem action=\"neu\" />"
"<separator />"
"<menuitem action=\"exit\" />"
"</menu>"
"<menu action=\"bearbeiten\" />"
"</menubar>"
"</ui>"
"</object>"
""
"<object class=\"GtkWindow\" id=\"hauptfenster\" >"
"<signal name=\"destroy\" handler=\"gtk_main_quit\"/>"
"<child>"
"<object class=\"GtkVBox\" id=\"vbox-layout\">"
"<property name=\"homogeneous\">FALSE</property>"
"<child>"
"<object class=\"GtkMenuBar\" id=\"menubar\" constructor=\"uimanager\"/>"
"</child>"
"</object>"
"</child>"
"</object>"
"</interface>";
int main (int argc, char *argv[])
{
GtkBuilder *builder;
GError *errors = NULL;
GtkWidget *window;
gtk_init (&argc, &argv);
builder = gtk_builder_new ();
gtk_builder_add_from_string (builder, interface,
strlen(interface), &errors);
gtk_builder_connect_signals (builder, NULL);
window = GTK_WIDGET(gtk_builder_get_object (builder, "hauptfenster"));
gtk_widget_show_all (window);
gtk_main ();
return 0;
}
Quellcode für GTK Grafikfenster 10:
#include <iostream>
#include <gtk/gtk.h>
int main(int argc, char *argv[]) {
// Initialisierung von GTK
gtk_init(&argc, &argv);
// Erstellung eines Fensters
GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
g_signal_connect(window, "destroy", G_CALLBACK(gtk_main_quit), NULL);
// Setzen des Titels und der Größe des Fensters
gtk_window_set_title(GTK_WINDOW(window), "GTK Basisfenster vom 28.05.2026");
gtk_window_set_default_size(GTK_WINDOW(window), 300, 200);
// Hintergrundfarbe des Fensters festlegen
GtkCssProvider *provider = gtk_css_provider_new();
gtk_css_provider_load_from_data(provider,"* { background-color: #ff0000; }", -1, NULL);
GtkStyleContext *context = gtk_widget_get_style_context(window);
gtk_style_context_add_provider(context,
GTK_STYLE_PROVIDER(provider),
GTK_STYLE_PROVIDER_PRIORITY_USER);
// Zeigen des Fensters
gtk_widget_show_all(window);
gtk_main();
return 0;
}