【问题标题】:add keyboard shortcuts to GIo.Menu将键盘快捷键添加到 GIo.Menu
【发布时间】:2016-12-02 02:30:24
【问题描述】:

我正在尝试将 accelgroup(键盘快捷键)添加到 Gio.Menu 项目。 但我还没有找到一种方法来做到这一点。比如,在这个例子中,我想用<Ctrl>+o打开文件

filemenu = Gio.Menu()
filemenu.append("Open","win.open")

accelgroup=Gtk.AccelGroup()
self.add_accel_group(accelgroup)

# Open menu
open_action = Gio.SimpleAction(name="open")
# this line is problematic
open_action.add_accelerator("activate". Gdk._keyval_from_name("O"))
open_action.connect("activate", self.MenuElem.file_open_clicked)
self.add_action(open_action)

我该怎么做?

【问题讨论】:

    标签: python-3.x keyboard-shortcuts gtk3 gio


    【解决方案1】:

    您不会将键绑定添加到 Gio.Action 本身,而是将它们添加到小部件或应用程序,例如:

    app = # My Gtk.Application instance
    window = # My Gtk.ApplicationWindow instance
    action = Gio.SimpleAction.new('open', None)
    
    window.add_action(action)
    app.add_accelerator('<Primary>o', 'win.open', None)
    # The 'win.' prefix is because it was added to a Gtk.ApplicationWindow
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多