Hoi,
Ik ben in C++ met hulp van SDL lib een eenvoudig spelletje aan het maken. Nu wilde ik met GTK dialogs maken als er een nieuw spel start. De code ziet er zo uit:
Alleen na het sluiten verdwijnt het venster niet, het reageert niet meer. Hoe los ik dit op? Ik heb geen hoofdvenster en als ik gtk_main aanroep verdwijnt het venster wel maar ik wil gtk_main helemaal niet aanroepen. Ergens in de gtk-loop wordt dus de troep-resten afgehandeld. Moet ik gewoon een nieuw venster aanmaken in plaats van een dialog of kan het wel zo maar vergeet ik wat?
Alvast bedankt,
Peter
Ik ben in C++ met hulp van SDL lib een eenvoudig spelletje aan het maken. Nu wilde ik met GTK dialogs maken als er een nieuw spel start. De code ziet er zo uit:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| /** * Voor het versturen van een simpel bericht. */ void SendMessage(char *title, char *message) { // Gtk Dialog GtkWidget *dialog, *label; dialog = gtk_dialog_new_with_buttons(title, NULL, GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK, NULL); label = gtk_label_new(message); g_signal_connect(dialog, "response", G_CALLBACK(response), NULL); g_signal_connect(dialog, "delete_event", G_CALLBACK(delete_event), NULL); /* Voeg label toe en laat het zien! */ gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label); gtk_widget_show_all(dialog); gint result = gtk_dialog_run(GTK_DIALOG(dialog)); gtk_widget_destroy(dialog); } |
Alleen na het sluiten verdwijnt het venster niet, het reageert niet meer. Hoe los ik dit op? Ik heb geen hoofdvenster en als ik gtk_main aanroep verdwijnt het venster wel maar ik wil gtk_main helemaal niet aanroepen. Ergens in de gtk-loop wordt dus de troep-resten afgehandeld. Moet ik gewoon een nieuw venster aanmaken in plaats van een dialog of kan het wel zo maar vergeet ik wat?
Alvast bedankt,
Peter
[ Voor 0% gewijzigd door een moderator op 18-08-2008 01:31 . Reden: ff highlighting aangezet voor een wat fleurigere posting :P ]