8

在 GTK+ 3 中将多个键盘快捷键绑定到一个操作的最佳方法是什么?

这几天我一直在寻找这个问题的答案,但一无所获。该函数gtk_accelerator_parse不支持逗号分隔的快捷方式。将多个<accelerator>标签放在.ui具有相同action属性和不同key属性的文件中也不起作用。

我不想编写一个自定义按键处理程序,这样我就可以为一个操作有两个快捷方式,但这真的是唯一的方法吗?

4

2 回答 2

2

自 GTK 版本 3.12(于 2014-03-25 发布)以来,有一种称为新方法的方法gtk_application_set_accels_for_action()应该会有所帮助。

于 2020-12-26T12:30:31.407 回答
1

我找到了一种方法,但它真的很可怕。使用gtk_accel_group_connect我可以为我自己的功能添加额外的加速器,然后可以根据按下的键和任何修饰符触发所需的操作。然而,这感觉就像是一个 hack,因为我基本上是在创建自己的加速器到动作地图,而不是使用 GTK。

如果有人知道,我想知道一种更好的方法。

于 2012-04-16T23:15:09.157 回答