【问题标题】:Multiple shortcuts for one action in GTKGTK 中一项操作的多个快捷方式
【发布时间】:2012-04-28 06:51:27
【问题描述】:

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

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

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

【问题讨论】:

    标签: gtk action shortcut vala


    【解决方案1】:

    自 GTK 版本 3.12(于 2014 年 3 月 25 日发布)以来,有一个名为 gtk_application_set_accels_for_action() 的新方法应该会有所帮助。

    【讨论】:

    • 谢谢!我已经好几年没有做过任何 GTK 编程了,但如果它早在 2 年前问世的话,它本来就是我想要的。 :)
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-28
      • 1970-01-01
      • 2013-01-10
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      相关资源
      最近更新 更多