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


Python Window.connect方法代码示例

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


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

示例1: Application

# 需要导入模块: from window import Window [as 别名]
# 或者: from window.Window import connect [as 别名]
class Application(Gtk.Application):
    simplename = "video-games"
    fullname = "Video Games"
    application_id = 'org.gnome.' + simplename
    
    def __init__(self):
        print (time.time()-start_time, "start init application")
        Gtk.Application.__init__(self, application_id = self.application_id, flags = Gio.ApplicationFlags.FLAGS_NONE)
        GLib.threads_init()
        Gdk.threads_init()
        
        self.datadir = os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0])))
        
        self.savedatadir = Environement.save_data_path()
        
        self.systems = Badnik.SystemCollection.full ()
        
        self.gamesdb = Badnik.Library(db_name = "games", db_dir = self.savedatadir, systems = self.systems)
        #self.gamesdb.app = self
        self.gamesdb.path = os.path.join(self.savedatadir, "games.db")
        
        self.focused_game = None
        
        self.connect("activate", self.on_activate)
        
        self.register(None)
        
        self.settings = Gio.Settings.new(self.application_id)
        
        self.builder = Gtk.Builder()
        self.builder.add_from_file(Environement.get_resource("AppMenu.ui"))
        self.builder.connect_signals(self)
        
        self.menumodel = self.builder.get_object("AppMenu")
        self.set_app_menu(self.menumodel)
        
        self._action_entries = [ { 'name': 'quit', 'callback': self.on_quit, 'accel': '<Primary>q' },
                                 { 'name': 'about', 'callback': self.on_about },
                                 { 'name': 'help', 'callback': self.on_help, 'accel': 'F1' },
                                 #{ 'name': 'fullscreen', 'callback': self.on_fullscreen, 'accel': 'F11' },
                                 #{ 'name': 'view-as', 'callback': self.on_view_as, 'create_hook': self._view_as_create_hook,
                                 #  'parameter_type': 's', 'state': self.settings.get_value('view-as') },
                                 { 'name': 'add-games', 'callback': self.on_add_games },
                                 #{ 'name': 'download-metadata', 'callback': self.on_download_metadata, 'accel': '<Primary>m' }
                               ]
        self._add_actions()
        
        settings = Gtk.Settings.get_default()
        settings.set_property("gtk-application-prefer-dark-theme", True)
        settings.set_property("gtk-shell-shows-app-menu", True)
        print (time.time()-start_time, "end init application")
        
        self.running_games = {}
        
        self.systems.connect("game_found", self.on_game_found)
        self.gamesdb.connect("game_added", self.on_game_added)
    
    def on_activate(self, data=None):
        #print (time.time()-start_time, "start activating application")
        #print("start window")
        self.window = Window(self)
        self.window.show ()
        self.window.connect('play_clicked', self.on_play_clicked)
        #print("stop  window")
        self.window.connect("destroy", self.on_quit, None)
        self.window.show()
        self.add_window(self.window)
        
        self.update_library_async()
        #print (time.time()-start_time, "end activating application")
    
    def on_play_clicked(self, window, game):
        self.play(game)
    
    def _add_actions(self):
        for action_entry in self._action_entries:
            state = action_entry['state'] if 'state' in action_entry else None
            parameterType = GLib.VariantType.new(action_entry['parameter_type']) if 'parameter_type' in action_entry else None
            
            action = None
            if (state):
                action = Gio.SimpleAction.new_stateful(action_entry['name'], parameterType, action_entry['state'])
            else:
                action = Gio.SimpleAction.new(action_entry['name'], None)
            
            if 'create_hook' in action_entry:
                action_entry['create_hook'](action)
            
            if 'callback' in action_entry:
                action.connect('activate', action_entry['callback'])
            
            if 'accel' in action_entry:
                self.add_accelerator(action_entry['accel'], 'app.' + action_entry['name'], None)
            
            self.add_action(action)
    
    def on_quit(self, action, data):
        print("Quitting Badnik")
        self.window.hide()
        self.systems.set_property("stop_searches", True)
#.........这里部分代码省略.........
开发者ID:Kekun,项目名称:video-games,代码行数:103,代码来源:application.py

示例2: UserManual

# 需要导入模块: from window import Window [as 别名]
# 或者: from window.Window import connect [as 别名]
class UserManual(dbus.service.Object):
    def __init__(self, session_bus):
        dbus.service.Object.__init__(self, session_bus, DEEPIN_USER_MANUAL_PATH)

        self.window = Window()
        self._init_values()
        self._init_settings()
        self._init_wedget()
        
        self.window.connect("destroy", gtk.main_quit)
        self.window.set_position(gtk.WIN_POS_CENTER)
        self.window.show_all()
        gtk.main()

    def _init_values(self):
        self.width = 685
        self.height = 500
        self.titlebar_height = 62
        self.book_name_label_color = "#6fb8ef"
        self.html_base_url = "file://" + os.path.join(CONTENTS_PATH, "html") + "/"
        self.home_html_str = open(os.path.join(CONTENTS_PATH, "html", "home.html")).read()
        self.index_html_str = open(os.path.join(CONTENTS_PATH, "html", "index.html")).read()
        self.home_values = get_home_item_values()
        self.init_progress_data()

    def _init_settings(self):
        self.window.set_decorated(False)
        self.window.set_icon_from_file(os.path.join(APP_IMAGE_PATH, "deepin-user-manual.png"))
        self.window.set_title(_("LinuxDeepin User Manual"))

    def _init_wedget(self):
        main_v_box = gtk.VBox()

        self.title_align = gtk.Alignment(0, 0.5, 1, 1)
        self.title_align.set_padding(0, 0, 0, 0)
        self.title_align.add(home_title_bar)
        
        self.web_view = ContentWebView(self.width, self.height - self.titlebar_height)
        #self.web_view.enable_inspector()
        self.web_view.connect("load-committed", self.load_committed_cb)
        self.web_view.connect("load-finished", self.load_finished_cb)

        # init velues for home
        self.push_data_to_web_view(self.home_html_str, self.home_values_to_list())

        main_v_box.pack_start(self.title_align)
        main_v_box.pack_start(self.web_view)
        
        self.main_alignment = gtk.Alignment(0.5, 0.5, 0, 0)
        self.main_alignment.set_padding(0, 0, 0, 0)
        self.main_alignment.add(main_v_box)
        self.window.add_widget(self.main_alignment)
        
        back.connect("button-release-event", self.page_go_back)
        home_title_bar.min_button.connect("clicked", lambda w: self.window.iconify())
        index_title_bar.min_button.connect("clicked", lambda w: self.window.iconify())
        home_title_bar.close_button.connect("clicked", self.close_window)
        index_title_bar.close_button.connect("clicked", self.close_window)
        self.window.add_move_event(home_title_bar)
        self.window.add_move_event(index_title_bar)
        self.web_view.connect("title-changed", self.title_changed_handler)

    def close_window(self, widget):
        write_unread_pages_data(self.home_values)
        gtk.main_quit()
        
    def title_changed_handler(self, widget, webframe, data):
        data_dict = eval(data)

        if data_dict["type"]=="external_link":
            webbrowser.open(data_dict["data"])

        elif data_dict["type"]=="home_item_link":
            book = data_dict["data"]
            self.home_item_click_handler(book)

        elif data_dict["type"] == "after_slider_change":
            page_info = eval(data_dict["data"])
            book, chapter_index, page_id = page_info["book"], page_info["chapter_index"], page_info["page_id"]
            self.remove_read_page(book, chapter_index, page_id)
            if chapter_index == 0 and self.home_values[book]["all_pages"][chapter_index][0] == page_id:
                self.web_view.execute_script('change_nav_status("Left", "none")')
                self.web_view.execute_script('change_nav_status("Right", "block")')
                self.web_view.execute_script('$("#msg").css("display", "none")')
            elif chapter_index == len(self.home_values[book]["all_pages"])-1 and page_id == self.home_values[book]["all_pages"][chapter_index][-1]:
                self.web_view.execute_script('change_nav_status("Left", "block")')
            else:
                self.web_view.execute_script('change_nav_status("Left", "block")')
                self.web_view.execute_script('change_nav_status("Right", "block")')
                self.web_view.execute_script('$("#msg").css("display", "none")')
                
        elif data_dict["type"] == "before_slider_change":
            page_info = eval(data_dict["data"])
            book, chapter_index, page_id = page_info["book"], page_info["chapter_index"], page_info["page_id"]
            self.remove_read_page(book, chapter_index, page_id)
            self.web_view.execute_script("var all_pages=%s" % json.dumps(self.home_values[book]["all_pages"], encoding="UTF-8", ensure_ascii=False))
            if chapter_index == len(self.home_values[book]["all_pages"])-1 and page_id == self.home_values[book]["all_pages"][chapter_index][-1]:
                self.web_view.execute_script('document.getElementById("return").innerHTML = %s' % json.dumps(_("Read Again"), encoding="UTF-8", ensure_ascii=False))
                self.web_view.execute_script('document.getElementById("next").innerHTML = %s' % json.dumps(_("Next Chapter"), encoding="UTF-8", ensure_ascii=False))
                self.web_view.execute_script('$("#msg").css("display", "block")')
#.........这里部分代码省略.........
开发者ID:electricface,项目名称:deepin-user-manual,代码行数:103,代码来源:main.py


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