我正在尝试构建一个 gtk 小部件,当按下 Escape 键时该小部件就会存在。 这是我的代码。
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);
但是这样说是行不通的 小部件“GtkWindow”没有不带参数的可激活信号“删除事件”
怎么了?或者 还有其他方法可以实现这一目标吗?
最佳答案
问题是 delete-event
不是一个Action 信号。
通常会有一个退出菜单项,您可以将 Escape 键链接到菜单项的 activate
信号或退出按钮,您可以使用按钮的 clicked
信号。这些都是 Action 类型信号。
关于c - 如何使用gtk_widget_add_accelerator?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1165974/