Fortschrittsbalken für Python/Quickly-Webbrowser

Fortschrittsbalken für Python/Quickly-Webbrowser

ich arbeite jetzt seit ungefähr einem Tag an diesem Webbrowser und habe das grundlegende Erscheinungsbild des Browsers so eingerichtet, wie ich es haben möchte.

ich habe mich nun dazu entschlossen, unten im Hauptfenster einen kleinen Fortschrittsbalken hinzuzufügen, der anzeigt, wie weit eine Seite geladen ist. Der Fortschrittsbalken wurde mithilfe von quickly hinzugefügt (damit ich das Aussehen in der Benutzeroberfläche habe), aber jetzt kann ich beim besten Willen nicht herausfinden, wie ich den Fortschrittsbalken zum Laufen bekomme, wenn die Seite geladen wird.

Irgendwelche Ideen, wie ich das machen kann, Leute?

Mein Code für den Webbrowser lautet wie folgt

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

wie Sie sehen, verwende ich WebKit und WebView mit Python und zwar schnell.

Ich bin für alle Code-Ideen dankbar, mit denen dieser Fortschrittsbalken funktioniert.

Dies ist der Code, den ich zum Aufrufen des Fortschrittsbalkens verwende:

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

kann mir bitte jemand helfen, das zu klären

Antwort1

Ich habe keine Fortschrittsbalken-Widgets verwendet, habe aber schnell ein eigenes Widget für Ihren Zweck:

from quickly.widgets import url_fetch_progressbar

KasseCodezur Verwendung. Sie müssen das quickly-widgets Paket installieren. Hier ist einDemo

verwandte Informationen