Я занимаюсь этим веб-браузером уже около дня, у меня есть основной вид браузера, настроенный так, как я хочу.
Теперь я решил добавить небольшой индикатор в нижней части главного окна, чтобы показать, как далеко загружается страница. Индикатор выполнения был добавлен быстро, поэтому я не могу понять, как заставить индикатор выполнения работать при загрузке страницы.
Любая идея о том, как я могу сделать это, ребята?
Мой код для веб-браузера выглядит следующим образом
import gettext
from gettext import gettext as _
gettext.textdomain('dm-web-browser')
from gi.repository import Gtk, WebKit # pylint: disable=E0611
import logging
logger = logging.getLogger('dm_web_browser')
from dm_web_browser_lib import Window
from dm_web_browser.AboutDmWebBrowserDialog import AboutDmWebBrowserDialog
from dm_web_browser.PreferencesDmWebBrowserDialog import PreferencesDmWebBrowserDialog
# See dm_web_browser_lib.Window.py for more details about how this class works
class DmWebBrowserWindow(Window):
__gtype_name__ = "DmWebBrowserWindow"
def finish_initializing(self, builder): # pylint: disable=E1002
"""Set up the main window"""
super(DmWebBrowserWindow, self).finish_initializing(builder)
self.AboutDialog = AboutDmWebBrowserDialog
self.PreferencesDialog = PreferencesDmWebBrowserDialog
# Code for other initialization actions should be added here.
self.backbutton = self.builder.get_object("backbutton")
self.forwardbutton = self.builder.get_object("forwardbutton")
self.refreshbutton = self.builder.get_object("refreshbutton")
self.stopbutton = self.builder.get_object("stopbutton")
self.urlentry = self.builder.get_object("urlentry")
self.scrolledwindow = self.builder.get_object("scrolledwindow")
self.toolbar = self.builder.get_object("toolbar")
self.webview = WebKit.WebView()
self.scrolledwindow.add(self.webview)
self.webview.show()
def on_backbutton_clicked(self, widget):
self.webview.go_back()
def on_forwardbutton_clicked(self,widget):
self.webview.go_forward()
def on_refreshbutton_clicked(self, widget):
self.webview.reload()
def on_stopbutton_clicked(self, widget):
self.webview.stop_loading()
, как вы можете видеть, я использую WebKit и WebView с Python и быстро.
Любые идеи кода, которые приведут этот индикатор выполнения в действие, были бы очень благодарны.
Это код, который я использую для вызова индикатора выполнения:
fetcher = UrlFetchProgressBox("http://" + url)
fetcher.connect("downloaded",self, on_urlentry_activate)
fetcher.show()
self.builder.get_object("vbox1").pack_start(fetcher,false,false)
помогите мне разобраться, пожалуйста,
Я не использовал виджеты индикатора выполнения, но у вас есть собственный виджет для вашей цели:
from quickly.widgets import url_fetch_progressbar
Проверьте код для использования. Вы должны быстро установить пакет виджетов. Вот демо