jonay

navegador en py(no es mio)

Oct 12th, 2014
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.89 KB | None | 0 0
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3.  
  4. """
  5.    SimpleBrowser - Navegador muy muy simple de internet, sólo de ejemplo,
  6.                    que utiliza la biblioteca Webkit GTK desde Python (PyWebkitGTK).
  7.  
  8.    
  9.    Licencia: BSD. Disponible en: http://www.freebsd.org/copyright/license.html
  10. """
  11.  
  12. import sys
  13. import gtk
  14. import webkit
  15.  
  16. DEFAULT_URL = 'http://www.python.org'
  17.  
  18. class SimpleBrowser:
  19.  
  20.     def __init__(self):
  21.         self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  22.         self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
  23.         self.window.connect('delete_event', self.close_application)
  24.         self.window.set_default_size(800, 600)
  25.  
  26.         vbox = gtk.VBox(spacing=5)
  27.         vbox.set_border_width(5)
  28.  
  29.         self.txt_url = gtk.Entry()
  30.         self.txt_url.connect('activate', self._txt_url_activate)
  31.  
  32.         self.scrolled_window = gtk.ScrolledWindow()
  33.         self.webview = webkit.WebView()
  34.         self.scrolled_window.add(self.webview)
  35.  
  36.         vbox.pack_start(self.txt_url, fill=False, expand=False)
  37.         vbox.pack_start(self.scrolled_window, fill=True, expand=True)
  38.         self.window.add(vbox)
  39.  
  40.     def _txt_url_activate(self, entry):
  41.         self._load(entry.get_text())
  42.  
  43.     def _load(self, url):
  44.         self.webview.open(url)
  45.  
  46.     def open(self, url):
  47.         self.txt_url.set_text(url)
  48.         self.window.set_title('SimpleBrowser - %s' % url)
  49.         self._load(url)
  50.  
  51.     def show(self):
  52.         self.window.show_all()
  53.  
  54.     def close_application(self, widget, event, data=None):
  55.         gtk.main_quit()
  56.  
  57. if __name__ == '__main__':
  58.     if len(sys.argv) > 1:
  59.         url = sys.argv[1]
  60.     else:
  61.         url = DEFAULT_URL
  62.  
  63.     # PyWebkitGTK necesita habilitar el soporte de los hilos en PyGTK
  64.     gtk.gdk.threads_init()
  65.     browser = SimpleBrowser()
  66.     browser.open(url)
  67.     browser.show()
  68.     gtk.main()
Advertisement
Add Comment
Please, Sign In to add comment