创建Gtk.ApplicationWindow从高兴

2024-10-03 11:16:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是Python 3.6,我试图从glade xml文件创建一个应用程序窗口,如下所示:

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()

但是,通过这种方式,窗口不会保留我在应用程序dou启动中设置的菜单栏,如下所示:

^{pr2}$

但是,如果我尝试用这个类创建一个窗口:

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建造者?有没有更好的方法来实现这一点?在


Tags: self应用程序gtkapplicationinitshowbuilderposition