python/快速網頁瀏覽器的進度條

python/快速網頁瀏覽器的進度條

我已經使用這個網頁瀏覽器大約一天了,我已經按照我想要的方式設定了瀏覽器的主要外觀。

我現在決定在主視窗底部新增一個小進度條,以顯示頁面載入的進度。進度條已使用快速添加(因此我可以在介面中查看),但現在我無法弄清楚如何在加載頁面時讓進度條工作。

大家知道我該怎麼做嗎?

我的網頁瀏覽器程式碼如下

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)

請幫我解決這個問題

答案1

我沒有使用進度條小部件,但很快就有了自己的小部件來滿足您的目的:

from quickly.widgets import url_fetch_progressbar

查看程式碼供使用。您必須安裝快速小工具包。這是一個示範

相關內容