本文整理汇总了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)
#.........这里部分代码省略.........
示例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")')
#.........这里部分代码省略.........