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;
}

Von Torsten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert