como você adiciona um botão home e guias ao navegador web personalizado escrito no ubuntu

0

como você codifica em um botão home para um navegador da web?

estou criando um navegador web no ubuntu para uso no Ubuntu. Eu estou usando uma mistura de Glade, Python, rapidamente, WebKit e WebView

Eu tenho quase tudo pronto e pensei que um botão home seria um toque agradável. Eu já tenho o botão home no lugar só preciso saber como fazê-lo funcionar.

para os botões com guias que fiz:

        self.webview = WebKit.WebView()
    self.scrolledwindow1.add(self, webview)
    self.scrolledwindow2.add(self, webview)
    self.scrolledwindow3.add(self, webview)
    self.webview.show()

a maneira como defini as janelas com guias e a janela com rolagem na clareira é assim:

tab1 mantém a janela scrolledwindow1 tab2 mantém scrolledwindow2 tab3 mantém scrolledwindow3

quando eu faço "executar rapidamente" recebo esta mensagem de erro:

/usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object 'Window' can't be set after construction

Gtk.Window. init (auto, tipo = tipo, ** kwds) Traceback (última chamada mais recente):   Arquivo "bin / dm-test", linha 33, em     dm_test.main ()   Arquivo "/home/matty/dm-test/dm_test/init.py", linha 33, na página principal     window = DmTestWindow.DmTestWindow ()   Arquivo "/home/matty/dm-test/dm_test_lib/Window.py", linha 35, em novo     new_object.finish_initializing (construtor)   Arquivo "/home/matty/dm-test/dm_test/DmTestWindow.py", linha 55, em finish_initializing     self.scrolledwindow1.add (self, webview) AttributeError: o objeto 'DmTestWindow' não tem atributo 'scrolledwindow1'

agora não tenho certeza se estou realmente chamando a guia e a janela com rolagem no caminho certo ou não. Abaixo está o código completo que escrevi para que isso funcione (estava funcionando antes da ideia da janela com guias)

# Code for other initialization actions should be added here.

#this builds the tool back and all the buttons(defines)

    self.toolbar = self.builder.get_object("toolbar")
    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.homebutton = self.builder.get_object("homebutton")
    self.urlentry = self.builder.get_object("urlentry")
    self.webview = WebKit.WebView()
    self.scrolledwindow1.add(self, webview)
    self.scrolledwindow2.add(self, webview)
    self.scrolledwindow3.add(self, webview)
    self.webview.show()




#This sets the buttons in tool bar to work

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_homebutton_clicked(self, widget):
    self.webview.open(DEFAULT_URL)

def on_url_entry_activate(self, widget):
    url = widget.get_text()
    self.webview.open("http://" + url)
    print url

alguém tem alguma idéia de como eu posso definir corretamente as janelas com guias (quero que pareça um pouco como o cromo) o código para configurá-lo também seria útil ou uma amostra do código que eu precisaria usar e uma explicação sobre como para usá-lo, se possível.

muito obrigado antecipadamente

    
por Mattn1014 20.04.2013 / 05:43

1 resposta

1

Um botão home é muito simples, considerando que você já tem o botão e o manipulador criado através do Glade:

# You'll probably have this laying around somewhere already
DEFAULT_URL = "http://www.ubuntu.com"

# class
    # init etc

    def on_home_clicked(self, widget):
        self.web_view.open(DEFAULT_URL)

Tornar o seu navegador com guias é um pouco mais trabalhoso. Você deve criar um GtkNotebook dentro da sua janela e empacotar cada visão do navegador em uma página separada.

    
por Timo 20.04.2013 / 11:08