如何使用gtk_widget_add_accelerator?

时间:2009-07-22 15:06:02

标签: c linux gtk

我正在尝试构建一个按下Escape键时存在的gtk小部件。 这是我的代码。

gtk_signal_connect (GTK_OBJECT(window), "delete-event",
                   GTK_SIGNAL_FUNC(gtk_main_quit), NULL);

/* FIXME */
GtkAccelGroup *accels = gtk_accel_group_new();
gtk_window_add_accel_group(GTK_WINDOW(window), accels);
gtk_widget_add_accelerator(window, "delete-event", accels,
                           GDK_Escape, 0, GTK_ACCEL_VISIBLE);

但这不起作用 widget`GtkWindow'没有可激活的信号“delete-event”,没有参数

怎么了?要么 还有其他方法可以达到这个目的吗?

1 个答案:

答案 0 :(得分:4)

问题是delete-event不是操作信号。

通常会有一个退出菜单项,您可以将Escape键链接到菜单项的activate信号或退出按钮,您可以使用按钮的clicked信号。这些都是动作类型信号。