2016-07-27 8 views
1

Gio.Menu 항목에 accelgroup (키보드 단축키)을 추가하려고합니다. 그러나 나는 이것을 할 방법을 찾지 못했습니다. 마찬가지로,이 예제에서, 나는이 작업을 수행 할 수있는 방법 <Ctrl>+oGIo.Menu에 단축키 추가

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) 

으로 파일을 열려면?

답변

2

당신은 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