Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/07/2010, 16:50
IamEdo
 
Fecha de Ingreso: enero-2010
Mensajes: 21
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Dos problemas

Holas
para la 1 con gtk.Entry() la tienes
aqui un codigo de un navegador muuuuy sencillo que encontre por ahi
Código Python:
Ver original
  1. import sys
  2. import gtk
  3. import webkit
  4.  
  5. DEFAULT_URL = 'http://www.google.com'
  6.  
  7. class SimpleBrowser:
  8.  
  9.     def __init__(self):
  10.         self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  11.         self.window.set_position(gtk.WIN_POS_CENTER_ALWAYS)
  12.         self.window.connect('delete_event', self.close_application)
  13.         self.window.set_default_size(800, 600)
  14.  
  15.         vbox = gtk.VBox(spacing=5)
  16.         vbox.set_border_width(5)
  17.  
  18.         self.txt_url = gtk.Entry()
  19.         self.txt_url.connect('activate', self._txt_url_activate)
  20.  
  21.         self.scrolled_window = gtk.ScrolledWindow()
  22.         self.webview = webkit.WebView()
  23.         self.scrolled_window.add(self.webview)
  24.  
  25.         vbox.pack_start(self.txt_url, fill=False, expand=False)
  26.         vbox.pack_start(self.scrolled_window, fill=True, expand=True)
  27.         self.window.add(vbox)
  28.  
  29.     def _txt_url_activate(self, entry):
  30.         self._load(entry.get_text())
  31.  
  32.     def _load(self, url):
  33.         self.webview.open(url)
  34.  
  35.     def open(self, url):
  36.         self.txt_url.set_text(url)
  37.         self.window.set_title('SimpleBrowser - %s' % url)
  38.         self._load(url)
  39.  
  40.     def show(self):
  41.         self.window.show_all()
  42.  
  43.     def close_application(self, widget, event, data=None):
  44.         gtk.main_quit()
  45.  
  46. if __name__ == '__main__':
  47.     if len(sys.argv) > 1:
  48.         url = sys.argv[1]
  49.     else:
  50.         url = DEFAULT_URL
  51.  
  52.     # PyWebkitGTK necesita habilitar el soporte de los hilos en PyGTK
  53.     gtk.gdk.threads_init()
  54.     browser = SimpleBrowser()
  55.     browser.open(url)
  56.     browser.show()
  57.     gtk.main()

y para el 2, de gtk no se casi nada pero encontre este codigo que te serviria

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #
  4. import os
  5. import sys
  6.  
  7. #gtk
  8. import pygtk
  9. if sys.platform != 'win32':
  10.     pygtk.require('2.0')
  11. import gtk
  12. import gobject
  13.  
  14.  
  15. class WinTest:
  16.     """Main Window"""
  17.  
  18.     def __init__(self):
  19.         """test"""
  20.         #build the window
  21.         self.winMain = gtk.Window()
  22.         #set window properties
  23.         self.winMain.set_events(
  24.             gtk.gdk.KEY_PRESS_MASK |
  25.             gtk.gdk.KEY_RELEASE_MASK)
  26.         print "events=",self.winMain.get_events()
  27.         self.winMain.connect('key-press-event', self.on_winMain_key_press)
  28.         self.winMain.connect('key-release-event', self.on_winMain_key_press)
  29.         self.winMain.connect('delete-event', self.on_winMain_delete_event)
  30.         self.winMain.set_size_request(300, 400)
  31.         self.winMain.show()
  32.  
  33.     def on_winMain_key_press(self, widget, event, *args):
  34.         """handle keyboard events"""
  35.         keyname = gtk.gdk.keyval_name(event.keyval).upper()
  36.         if event.type == gtk.gdk.KEY_PRESS:
  37.             if keyname == 'ESCAPE':
  38.                 self.on_winMain_delete_event()
  39.             else:
  40.                 print "key press=", keyname
  41.         elif event.type == gtk.gdk.KEY_RELEASE:
  42.             print "key release=", keyname
  43.         return False
  44.  
  45.     def on_winMain_delete_event(self, *args):
  46.         """done, quit the application"""
  47.         #exit gtk loop
  48.         gtk.main_quit()
  49.         return False
  50.  
  51.  
  52. if __name__ == '__main__':
  53.     #instantiate main GUI window class
  54.     app = WinTest()
  55.     #and... go...
  56.     gtk.main()
Saludos