Barra de progreso para Python/navegador web rápido

Barra de progreso para Python/navegador web rápido

He estado usando este navegador web durante aproximadamente un día, tengo el aspecto principal del navegador configurado como lo quiero.

Ahora he decidido agregar una pequeña barra de progreso en la parte inferior de la ventana principal para mostrar hasta qué punto se carga una página. La barra de progreso se agregó rápidamente (así que la veo en la interfaz), pero ahora no puedo descubrir cómo hacer que la barra de progreso funcione cuando se carga la página.

¿Alguna idea sobre cómo puedo hacer esto chicos?

Mi código para el navegador web es el siguiente

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()

Como puedes ver, estoy usando WebKit y WebView con Python y rápidamente.

Cualquier idea de código que haga funcionar esta barra de progreso sería muy apreciada.

este es el código que estoy usando para llamar a la barra de progreso:

fetcher = UrlFetchProgressBox("http://" + url)
    fetcher.connect("downloaded",self, on_urlentry_activate)
    fetcher.show()
    self.builder.get_object("vbox1").pack_start(fetcher,false,false)

Alguien me ayuda a solucionar esto por favor

Respuesta1

No he usado widgets de barra de progreso, pero rápidamente tengo su propio widget para su propósito:

from quickly.widgets import url_fetch_progressbar

Verificarcódigopara su uso. Tienes que instalar el paquete de widgets rápidos. Aquí está unmanifestación

información relacionada