Как вы кодируете в домашней кнопке для веб-браузера?
Я создаю веб-браузер в Ubuntu для использования в Ubuntu. Я использую смесь Glade, Python, Fast, WebKit и WebView
Я сделал почти все, и думал, что кнопка «Домой» будет хорошим прикосновением. У меня уже есть кнопка домой, просто нужно знать, как заставить ее работать.
для кнопок с вкладками я сделал это:
self.webview = WebKit.WebView()
self.scrolledwindow1.add(self, webview)
self.scrolledwindow2.add(self, webview)
self.scrolledwindow3.add(self, webview)
self.webview.show()
способ, которым я установил окна с вкладками и прокручиваемое окно на поляне, выглядит следующим образом:
tab1 содержит scrolledwindow1 tab2 содержит scrolledwindow2 tab3 содержит scrolledwindow3
, когда я "быстро бегу", я получаю это сообщение об ошибке:
/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 (self, type = type, ** kwds) Traceback (последний вызов был последним): файл "bin / dm-test", строка 33, в файле dm_test.main () "/ home / matty / dm-test / dm_test / init .py ", строка 33, в главном окне = Файл DmTestWindow.DmTestWindow ()" /home/matty/dm-test/dm_test_lib/Window.py ", строка 35, в new new_object.finish_initializing (строитель ) Файл "/home/matty/dm-test/dm_test/DmTestWindow.py", строка 55, в файле finish_initializing self.scrolledwindow1.add (self, webview) AttributeError: Объект DmTestWindow не имеет атрибута scrolledwindow1
[ 1111] Теперь я не уверен, правильно ли я вызываю вкладки и окно прокрутки или нет. Ниже приведен полный код, который я написал для того, чтобы это работало (работал до идеи окна с вкладками)
# 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
есть у кого-нибудь какие-либо идеи, как правильно настроить окна с вкладками (хотите, чтобы это выглядело как chromium) код для его установки также будет полезен или пример кода, который мне нужно будет использовать, и объяснение того, как его использовать, если это возможно.
заранее большое спасибо
Кнопка «Домой» очень проста, учитывая, что у вас уже есть кнопка и обработчик, созданные с помощью 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)
Создание вкладок в вашем браузере немного сложнее. Вы должны создать GtkNotebook
внутри своего окна и упаковать каждый просмотр браузера в отдельную страницу.