我一直在使用 gtkmm 编写一个 Gtk+ 应用程序,并且我正在尝试添加一个调用回调的全局键盘快捷键。不幸的是,Gtk::AccelGroup 的 connect() 方法在 gtkmm 中不可用,显然是故意的,因为您可以使用 ActionGroups 进行连接...
无论如何,我有以下代码:
actions_= Gtk::ActionGroup::create();
actions_->set_accel_group(Gtk::AccelGroup::create());
actions_->add(
Gtk::Action::create("new"), Gtk::AccelKey("<control>n"),
sigc::mem_fun(this, &Window::new_buffer_thing)
);
_gtk_window().add_accel_group(actions_->get_accel_group());
它编译并运行没有警告,但键盘快捷键什么也不做。我一直在摆弄这个几个小时,所以任何帮助或指导将不胜感激!
我在做一些明显错误的事情吗?为什么加速器不工作?