Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/10/2011, 07:34
carlos_armikhael
 
Fecha de Ingreso: octubre-2011
Mensajes: 31
Antigüedad: 13 años, 2 meses
Puntos: 7
Respuesta: Python Botones <Atras----Siguiente>

hola amigo mire tengo este código que tiene 3 ventanas la cual tiene botones de atrás y siguiente.. pero cuando da siguiente la otra ventana se queda... ejemplo : la ventana 2 da siguiente y busca la ventana 3, pero la ventana 2 sigue estando visible y no se quita como hago para que la ventana 2 llama a la tres y se destruya o no este visible... al igual que la ventana 3 tiene un botón de atrás el cual llama a la ventana 2 pero se queda la ventana 3... entonces quedaría con muchas ventanas innecesarias... si me puedes ayudar gracias aquí esta el código

Código Python:
Ver original
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. #pygtk.require('2.0')
  4.  
  5. import gtk
  6. #-----------------------------------ventana 3---------------------------
  7. def ventana3(self):
  8.     window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  9.     window.set_title("ventana3")
  10.     window.set_border_width(10)
  11.     window.set_size_request(520, 440)
  12.     window.set_resizable(False)
  13.  
  14.    
  15.    
  16.     def make_box1(homogeneous, spacing, expand, fill, padding):
  17.            
  18.         caja = gtk.HBox(homogeneous, spacing)
  19.         caja.set_border_width(10)
  20.            
  21.         boton = gtk.Button("  <Atras  ")
  22.         boton.connect("clicked", ventana2)
  23.         caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 0)
  24.         boton.show()
  25.            
  26.         boton = gtk.Button(" Siguiente> ")
  27.         #boton.connect("clicked", ventana3)
  28.         caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 0)
  29.         boton.show()
  30.         return caja
  31.    
  32.    
  33.     vbox = gtk.VBox(gtk.FALSE, 0)
  34.    
  35.    
  36.     box2 = make_box1(gtk.FALSE, 0, gtk.FALSE, gtk.FALSE,0)
  37.     vbox.pack_start(box2, gtk.FALSE, gtk.FALSE, 0)
  38.     box2.show()
  39.    
  40.    
  41.     window.add(vbox)
  42.     window.show_all()
  43.  
  44. #-----------------------------------ventana 2 --------------------------
  45. def ventana2(self):
  46.     window = gtk.Window(gtk.WINDOW_TOPLEVEL)
  47.     window.set_title("ventana2")
  48.     window.set_border_width(10)
  49.     window.set_size_request(520, 440)
  50.     window.set_resizable(False)
  51.  
  52.    
  53.    
  54.     def make_box1(homogeneous, spacing, expand, fill, padding):
  55.            
  56.         caja = gtk.HBox(homogeneous, spacing)
  57.         caja.set_border_width(10)
  58.            
  59.         boton = gtk.Button("  <Atras  ")
  60.         #boton.connect("clicked", )
  61.         caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 100)
  62.         boton.show()
  63.            
  64.         boton = gtk.Button(" Siguiente> ")
  65.         boton.connect("clicked", ventana3)
  66.         caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 50)
  67.         boton.show()
  68.         return caja
  69.    
  70.    
  71.     vbox = gtk.VBox(gtk.FALSE, 0)
  72.    
  73.    
  74.     box2 = make_box1(gtk.FALSE, 0, gtk.FALSE, gtk.FALSE,0)
  75.     vbox.pack_start(box2, gtk.FALSE, gtk.FALSE, 0)
  76.     box2.show()
  77.    
  78.    
  79.     window.add(vbox)
  80.     window.show_all()
  81. #-----------------------------------ventana 2--------------------------
  82.  
  83.  
  84. #--------------------------------------ventana 1--------------------------
  85. class MyApp():
  86.  
  87.     def __init__(self):
  88.         self.window = gtk.Window()
  89.         self.window.set_border_width(0)
  90.         self.window.set_title("ventana1")
  91.         self.window.set_size_request(520, 715)
  92.         self.window.set_resizable(False)
  93.        
  94.        
  95.        
  96.         def make_box4(homogeneous, spacing, expand, fill, padding):
  97.            
  98.             caja = gtk.HBox(homogeneous, spacing)
  99.             caja.set_border_width(10)
  100.            
  101.             boton = gtk.Button(stock=gtk.STOCK_CLOSE)
  102.             boton.connect("clicked", gtk.mainquit)
  103.             caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 60)
  104.             boton.show()
  105.            
  106.             boton = gtk.Button("Siguiente>")
  107.             boton.connect("clicked", ventana2)
  108.             caja.pack_start(boton, gtk.FALSE, gtk.FALSE, 220)
  109.             boton.show()
  110.             return caja
  111.        
  112.        
  113.         self.vbox = gtk.VBox(gtk.FALSE, 0)
  114.        
  115.        
  116.        
  117.         self.box2 = make_box4(gtk.FALSE, 0, gtk.FALSE, gtk.FALSE,0)
  118.         self.vbox.pack_start(self.box2, gtk.FALSE, gtk.FALSE, 0)
  119.         self.box2.show()
  120.        
  121.        
  122.        
  123.         self.window.add(self.vbox)
  124.         self.window.connect("destroy", gtk.main_quit)
  125.         self.window.show_all()
  126. #-------------------------------ventana 1---------------------------  
  127. if __name__ == "__main__":
  128.     app = MyApp()
  129.     gtk.main()
..

Última edición por razpeitia; 24/10/2011 a las 22:28