我想尝试一个非常基本的GSimpleAction,例如在键盘激活时执行一些方法。
由于我的应用程序未使用GtkApplicationWindow,因此根据this doc,我需要创建一个SimpleActionGroup。 现在的问题是,the doc of GSimpleActionGroup说它已经过时了。我应该改用GActionMap。
GActionMap只是一个接口,因此我无法使用它。..我有点迷茫。
使用已废弃的GSimpleActionGroup,我的代码将如下所示:
GSimpleActionGroup *group = g_simple_action_group_new ();
GtkWidget* window = gtk_widget_get_toplevel (launcher->widget);
launcher->action = g_simple_action_new ("Test123", None);
g_signal_connect (launcher->action, "activate", saveCb);
g_simple_action_group_insert (group, action);
gtk_widget_insert_action_group (window, "win", group);
const char *accels[] = {"<Contol><Shift>T", NULL};
gtk_application_set_accels_for_action (app, "win.Test123", "<Primary>t");
不使用GSimpleActionGroup怎么办?