2017-02-28 78 views
3

我使用Python 3.6,而我試圖從一塊空地XML文件中像這樣創建一個應用程序窗口創建Gtk.ApplicationWindow:從林間空地

builder = Gtk.Builder() 
builder.add_from_file("ui/window.glade") 
win = builder.get_object("window1") 
win.set_application(self) 
win.set_position(Gtk.WindowPosition.CENTER) 
win.show_all() 

然而,這樣的窗口不保留菜單欄,我在應用do_startup設置,如下所示:

builder.add_from_file("ui/menu.glade") 
set_menubar(self.builder.get_object("menubar")) 

但是,如果我嘗試創建一個窗口,這個類:

class MyWindow(Gtk.ApplicationWindow): 

    def __init__(self, app): 
     Gtk.Window.__init__(self, title="MyTitle", application=app) 
     self.set_position(Gtk.WindowPosition.CENTER) 
     self.set_default_size(600, 500) 

# application do_activate function 
win = MyWindow(self) 
win.show_all() 

顯示菜單。我如何將菜單添加到從Gtk.Builder創建的窗口中?有沒有更好的方法來完成這一點?

回答

0

是在你的glade文件中的「window1」ApplicationWindow? 使用Application.set_menubar(),您可以指定一個菜單欄,該菜單欄將由Gtk.ApplicationWindow's顯示。