How to add accel key without button?



Hello!

        I saw many guys use such code to add an accelerator key :
        
/**************************************/
GtkWidget *window , *button;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label ("Hello World");

g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK ,
(gtk_main_quit),NULL);

GtkAccelGroup *accel = gtk_accel_group_new();
gtk_widget_add_accelerator(button,"clicked",accel, GDK_q ,0 ,
GTK_ACCEL_VISIBLE);
gtk_container_add (GTK_CONTAINER (window), button);
gtk_window_add_accel_group(GTK_WINDOW(window),accel);   
gtk_widget_show(button);
gtk_widget_show(window);
/**************************************/
        The accelerator key works well.

        But I don't want to see a button in my window ,so I changed to :
/**************************************/
GtkWidget *window;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);

g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK ,
(gtk_main_quit),NULL);

GtkAccelGroup *accel = gtk_accel_group_new(); 
gtk_widget_add_accelerator(window,"clicked",accel, GDK_q ,0 ,
GTK_ACCEL_VISIBLE);
gtk_window_add_accel_group(GTK_WINDOW(window),accel);   
gtk_widget_show(window);
/**************************************/

        When I ran this code , it give me warning :
(helloworld:4814): Gtk-WARNING **: gtkwidget.c:3076: widget `GtkWindow'
has no activatable signal "delete_event" without arguments

        How can I connect the accelerator key(GDK_q) to "delete_event" signal ?

-- 
Regards 
Falls Huang




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]