Como você consegue que o título do site apareça na área do menu / o título da página da Web está no navegador da web python / criado rapidamente?

0

Olá, eu estou criando um navegador da web usando uma mistura rápida e Python, estou querendo obter um título de site para aparecer no topo da página. Eu não tenho certeza de qual código que eu preciso adicionar ao arquivo, ive olhou toda a internet e que tem sido de nenhuma utilidade.

este é o código que tenho até agora para o navegador:

import gettext
from gettext import gettext as _
gettext.textdomain('dmbrowser')

from gi.repository import Gtk, WebKit # pylint: disable=E0611
import logging
logger = logging.getLogger('dmbrowser')

from dmbrowser_lib import Window
from dmbrowser.AboutDmbrowserDialog import AboutDmbrowserDialog
from dmbrowser.PreferencesDmbrowserDialog import PreferencesDmbrowserDialog

# See dmbrowser_lib.Window.py for more details about how this class works
class DmbrowserWindow(Window):
    __gtype_name__ = "DmbrowserWindow"

    def finish_initializing(self, builder): # pylint: disable=E1002
        """Set up the main window"""
        super(DmbrowserWindow, self).finish_initializing(builder)

        self.AboutDialog = AboutDmbrowserDialog
        self.PreferencesDialog = PreferencesDmbrowserDialog

        # 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")

        context = self.toolbar.get_style_context()
        context.add_class(Gtk.STYLE_CLASS_PRIMARY_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()

    def on_urlentry_activate(self, widget):
        url = widget.get_text()

        self.webview.open("http://" + url)

        print url
    
por Mattn1014 19.04.2013 / 01:05

2 respostas

1

Não testado, mas o seguinte deve funcionar.

self.webview.connect('notify::title', self._title_changed_cb)

def _title_changed_cb(self, webview, title):
    self.set_title(webview.get_title())

Você provavelmente desejará um título melhor, como "%s - %s" % (title, APPNAME) .

Editar : você não pode usar a propriedade title diretamente porque ela é do tipo GParamString. Basta recuperar o título da visualização da Web.

    
por Timo 19.04.2013 / 14:05
0
   self.webview.connect('load_committed', self.change_url)
def change_url(self, widget, data=None):
   self.urlentry.set_text( widget.get_main_frame().get_uri() )

funcionará check-out

    
por yashwanth 31.10.2014 / 12:30