Ver Mensaje Individual
  #4 (permalink)  
Antiguo 24/10/2011, 22:28
Avatar de razpeitia
razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Python Botones <Atras----Siguiente>

Tienes mucho código que se repite te recomiendo hacer clases o métodos mas generales.

Código Python:
Ver original
  1. #coding: cp1252
  2.  
  3. import gtk
  4.  
  5. class Ventana(gtk.Window):
  6.     def __init__(self, title, size, resizable=False):
  7.         gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
  8.         self.set_position(gtk.WIN_POS_CENTER)
  9.        
  10.         self.nextWindow = None
  11.         self.backWindow = None
  12.        
  13.         self.set_title(title)
  14.         self.set_border_width(10)
  15.         self.set_size_request(*size)
  16.         self.set_resizable(resizable)
  17.        
  18.         self.hbox = gtk.HBox()
  19.         self.back = gtk.Button("Back")
  20.         self.next = gtk.Button("Next")
  21.        
  22.         self.add(self.hbox)
  23.         self.hbox.add(self.back)
  24.         self.hbox.add(self.next)
  25.        
  26.         self.next.connect("clicked", self.onNext)
  27.         self.back.connect("clicked", self.onBack)
  28.         self.connect("destroy", self.onDestroy)
  29.    
  30.     def onDestroy(self, event):
  31.         gtk.main_quit()
  32.        
  33.     def onBack(self, event):
  34.         if self.backWindow is not None:
  35.             self.hide()
  36.             self.backWindow.show_all()
  37.        
  38.    
  39.     def onNext(self, event):
  40.         if self.nextWindow is not None:
  41.             self.hide()
  42.             self.nextWindow.show_all()
  43.        
  44. class MyApp():
  45.  
  46.     def __init__(self):
  47.         ventana1 = Ventana("Ventana 1", (300, 50))
  48.         ventana2 = Ventana("Ventana 2", (300, 50))
  49.         ventana3 = Ventana("Ventana 3", (300, 50))
  50.        
  51.         ventana1.nextWindow = ventana2
  52.         ventana2.nextWindow = ventana3
  53.        
  54.         ventana3.backWindow = ventana2
  55.         ventana2.backWindow = ventana1
  56.        
  57.         ventana1.show_all()
  58.        
  59.  
  60. if __name__ == "__main__":
  61.     app = MyApp()
  62.     gtk.main()