import gi gi.require_version("Gtk", "4.0") from gi.repository import Gtk # Gtk.Builder xml for the application menu APP_MENU = """
_About win.about _Settings win.settings _Refresh win.refresh _Quit win.quit
""" class MenuButton(Gtk.MenuButton): """ Wrapper class for at Gtk.Menubutton with a menu defined in a Gtk.Builder xml string """ def __init__(self, icon_name="open-menu-symbolic"): super(MenuButton, self).__init__() builder = Gtk.Builder.new_from_string(APP_MENU, -1) menu = builder.get_object("app-menu") self.set_menu_model(menu) self.set_icon_name(icon_name)