当前位置: 首页>>代码示例>>Python>>正文


Python MainWindow.close方法代码示例

本文整理汇总了Python中MainWindow.MainWindow.close方法的典型用法代码示例。如果您正苦于以下问题:Python MainWindow.close方法的具体用法?Python MainWindow.close怎么用?Python MainWindow.close使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在MainWindow.MainWindow的用法示例。


在下文中一共展示了MainWindow.close方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: SBrickApplication

# 需要导入模块: from MainWindow import MainWindow [as 别名]
# 或者: from MainWindow.MainWindow import close [as 别名]
class SBrickApplication(Gtk.Application):
    def __init__(self, *args, **kwargs):
        # super(*args, **kwargs)
        Gtk.Application.__init__(self, *args,
                                 application_id="nz.winters.sbrickapp",
                                 flags=Gio.ApplicationFlags.NON_UNIQUE,
                                 **kwargs)
        self.window = None
        self.config = None
        self.configFile = "sbricks.json"

        self.add_main_option("config", ord("c"), GLib.OptionFlags.OPTIONAL_ARG,
                             GLib.OptionArg.STRING, "Config File", None)
        self.connect('handle-local-options', self.on_handle_local_options)

    def do_startup(self):
        Gtk.Application.do_startup(self)

        action = Gio.SimpleAction.new("about", None)
        action.connect("activate", self.on_about)
        self.add_action(action)

        action = Gio.SimpleAction.new("quit", None)
        action.connect("activate", self.on_quit)
        self.add_action(action)

        action = Gio.SimpleAction.new("open_configuration", None)
        action.connect("activate", self.on_open_configuration)
        self.add_action(action)

        action = Gio.SimpleAction.new("save_configuration", None)
        action.connect("activate", self.on_save_configuration)
        self.add_action(action)

        action = Gio.SimpleAction.new("save_as_configuration", None)
        action.connect("activate", self.on_save_as_configuration)
        self.add_action(action)

        builder = Gtk.Builder.new_from_file("menu.xml", )
        self.set_app_menu(builder.get_object("app-menu"))

    def do_activate(self):
        self.read_config()
        if not self.window:
            self.window = MainWindow(application=self, title="SBrick Controller", config=self.config)
        self.window.present()

    # noinspection PyUnusedLocal
    def on_handle_local_options(self, application, options):
        if options.contains("config"):
            self.configFile = options.lookup_value("config").get_string()
        return -1

    # noinspection PyUnusedLocal
    def on_quit(self, action, param):
        self.quit()

    def read_config(self):
        fp = open(self.configFile)
        try:
            self.config = json.load(fp)
        finally:
            fp.close()

    # noinspection PyUnusedLocal
    def on_about(self, action, param):
        about_dialog = Gtk.AboutDialog(transient_for=self.window, modal=True)
        about_dialog.run()
        about_dialog.destroy()

    # noinspection PyUnusedLocal
    def on_save_configuration(self, action, param):
        self.save_configuration(self.configFile)

    def save_configuration(self, filename):
        fp = open(filename, mode="w+")
        try:
            self.window.write_configuration()
            json.dump(self.config, fp, indent=2)
        finally:
            fp.close()

    # noinspection PyUnusedLocal
    def on_save_as_configuration(self, action, param):
        dialog = Gtk.FileChooserDialog("Save Configuration As...", self.window,
                                       Gtk.FileChooserAction.SAVE,
                                       (Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL,
                                        Gtk.STOCK_SAVE, Gtk.ResponseType.OK))
        dialog.set_filename(self.configFile)

        self.add_filters(dialog)

        response = dialog.run()
        if response == Gtk.ResponseType.OK:
            self.configFile = dialog.get_filename()
            self.save_configuration(self.configFile)

        dialog.destroy()

    # noinspection PyUnusedLocal
#.........这里部分代码省略.........
开发者ID:wintersandroid,项目名称:sbrick-controller,代码行数:103,代码来源:main.py


注:本文中的MainWindow.MainWindow.close方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。