Ho scritto un semplice programmino, dove premendo un pulsante, mi dovrebbe mostrare una finestra di dialogo.
Il problema è che quando premo il pulsante ho questo errore:
Program has been terminated receiving signal 11 (Segmentation fault)
Press the Enter key to close this terminal ...
Eco il codice del mio programma:
codice:#include <gtk/gtk.h> int i=0; void button_on_click(GtkWidget widget, gpointer window) { i++; GtkWidget *dialog=gtk_message_dialog_new(window,GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,"Sono %d volte che clicci!",i); gtk_window_set_title(GTK_WINDOW(dialog),"Informazione"); gtk_dialog_run(GTK_DIALOG(dialog)); } int main(int argc, char *argv[]) { GtkWidget *button; GtkWidget *window; gtk_init (&argc, &argv); //creazione della finestra principale window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_default_size (GTK_WINDOW(window), 250, 250); gtk_window_set_title (GTK_WINDOW(window), "Ciao Mondo delle Gtk+!"); gtk_widget_show (window); //creazione del pulsante button=gtk_button_new_with_label("Cliccami"); //aggiungere il pulsante alla finestra e mostrarlo gtk_container_add(GTK_CONTAINER(window),button); gtk_widget_show(button); //gestione dei segnali g_signal_connect(GTK_OBJECT(window),"delete event",G_CALLBACK(gtk_main_quit),NULL); g_signal_connect(GTK_OBJECT(button),"clicked", G_CALLBACK(button_on_click),(gpointer)window); gtk_main (); return 0; }


Rispondi quotando