Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2011, 12:33
Avatar de PyLau
PyLau
 
Fecha de Ingreso: octubre-2011
Mensajes: 10
Antigüedad: 12 años, 6 meses
Puntos: 1
Borrar entry al hacer click en él



Hola de nuevo!

Tengo un codigo de python y gtk2 que me borra lo que tengo en el set_text del entry al hacer click dentro del mismo entry, pero el problema es que necesito que lo borre nada mas la primera vez que se hace click en él, para que se borre el texto de Ejemplo que esta alli y no lo que se ingrese en un futuro.

Solo necesito que el def se ejecute una sola vez (la primera vez que se hace click en el entry)

Aqui esta mi codigo:



Código Python:
Ver original
  1. import sys
  2. import pygtk
  3. pygtk.require('2.0')
  4. import gtk
  5.  
  6. class simpleWindow:
  7.     def __init__(self):
  8.         self.wind = gtk.Window(gtk.WINDOW_TOPLEVEL)
  9.         self.wind.set_border_width(2)
  10.         self.wind.set_size_request(400, 300)
  11.  
  12.         self.wind.connect('delete_event', self.__on_quit)
  13.  
  14.         vbox = gtk.VBox()
  15.         self.entry = gtk.Entry()
  16.         self.entry.set_text("Ejemplo")
  17.         self.entry.connect('event', self.__on_entry_clicked)
  18.         vbox.pack_start(self.entry)
  19.  
  20.         self.wind.add(vbox)
  21.         self.wind.show_all()
  22.        
  23.         gtk.main()
  24.  
  25.     def __on_entry_clicked(self, widget, event, data=None):
  26.         if event.type == gtk.gdk.BUTTON_RELEASE:
  27.             self.entry.set_text("")
  28.            
  29.     def __on_quit(self, widget, event=None):
  30.         gtk.main_quit()
  31.         return False
  32.  
  33. def main():
  34.     wind = simpleWindow()
  35.  
  36. if __name__ == '__main__':
  37.     main()