ich hab jetzt mal versucht, etwas mit gtk zu spielen. als "testprogramm" hab ich mir n kleinen palindrom-check zurechtgelegt - dazu will ich eine kleine GUI basteln, wo man das zu testende wort eingeben kann... ja. sehr rudimentär. aber man muss ja klein anfangen
das hauptfenster ist auch kein problem (einfach n eingabefeld und ein button mit der beschriftung "check"). wenn man auf den check-button klickt, soll ein dialog aufploppen, in dem das ergebnis des tests bekannt gegeben wird (zb "ja, das is eins"). dieses dialog-fenster soll nur einen ok-button enthalten, der, wenn man ihn klickt, das dialogfenster schließt. zuerst dachte ich, das könnte ich mit "gtk_widget_destroy" lösen. dabei ergibt sich aber ein verdammt unschönes bild, denn da wird NUR der ok-button gelöscht... also wirklich nicht das, was ich will, hehe
mit etwas - wie ich finde - trickserei funktionierts. aber ich bin mir nicht sicher, ob das wirklich "der saubere weg" ist.
ganz kurz also die erklärung wie ichs gelöst hab:
ich verbinde den button mit einem signal. klar. damit wird die funktion "destroy_window" aufgerufen...
Code: Alles auswählen
// jetzt den ok button connecten
gtk_signal_connect((gpointer)okbutton, "clicked", G_CALLBACK(destroy_window), dialog);
die entsprechende funktion sieht dann so aus:
Code: Alles auswählen
static void destroy_window(GtkWidget* widget, gpointer* pointer)
{
gtk_widget_destroy((GtkWidget*) pointer);
}