Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: XD YO en 10 Febrero 2010, 00:46 am



Título: ¿Llamar a la ejecucion de otro archivo? (Python)
Publicado por: XD YO en 10 Febrero 2010, 00:46 am
Hola a todos :)

Estaba trabajando aun en el programa que comente la otra vez, y pensé en ¿Como poder importar ventanas de otros archivos?. Esto vino a colación  ya que son demasiadas lineas de código como para escribir una función (si por pregunta son 4 texboxs y 4 radiobuttons... y son diez preguntas...  y el archivo pinta ya más de 200 :o)

Y la única solución practica que me pasa por la mente (si consideramos que la otra es pasar todo el código y después indentarlo.... ) pensé que lo mas sencillo seria que la función del programa llamase al otro archivo para después ejecutarlo todo sin más ni más.

¿O existe otra solución?

De antemano gracias.


Título: Re: ¿Llamar a la ejecucion de otro archivo? (Python)
Publicado por: ^Tifa^ en 10 Febrero 2010, 02:17 am
Bueno no es que sea yo experta en Python y Tk nisiquiera python  :xD

Pero como conozco el API Tk ya que lo manejo con Perl, claro que puedes independizar un poco una aplicacion de otra... haciendola de tipo modular tu entiendes. Por ejemplo:

Esta es la Ventana Uno:

Código
  1.  
  2. #!/usr/bin/python
  3.  
  4. from Tkinter import *
  5. from modulo import *
  6.  
  7. ventana = Tk()
  8. ventana.title("Proyecto")
  9. boton = Button(ventana, text = "Pinchame", width = 15, relief = 'raised', command = (lambda: Ejemplo()))
  10. boton.grid(row = 1, column = 2, padx = 5, pady = 5)
  11.  
  12. ventana.mainloop()
  13.  

Esta es la ventana Dos (llamada modulo.py)

Código
  1.  
  2. #!/usr/bin/python
  3.  
  4. from Tkinter import *
  5.  
  6. def Ejemplo():
  7.  ventana1 = Tk()
  8.  mensaje = Label(ventana1, text="Hola Mundo")
  9.  mensaje.pack()
  10.  ventana1.mainloop()
  11.  
  12.  

El unico inconveniente es la carga en memoria que esto genera  :xD


Título: Re: ¿Llamar a la ejecucion de otro archivo? (Python)
Publicado por: XD YO en 10 Febrero 2010, 15:56 pm
Gracias ^TiFa^, pero no habia considerado esa opcion por que pensaba en pequeños inconvenientes.

Pero, tengo que admititlo, funciona mejor de lo que esperaba; ya que la ventana secundaria es independiente de la ventana primaria (que la llamo)... ;D

Lo unco malo fue que tuve que indentar más de 200 lineas   :xD

Muchas gracias.


Título: Re: ¿Llamar a la ejecucion de otro archivo? (Python)
Publicado por: ^Tifa^ en 11 Febrero 2010, 00:11 am
Me alegro que te sirviera de ejemplo  ;)  lo unico negativo que veo en ello es que si independizas muchas ventanas pos seria una carga (aunque minima) extra en memoria. Pero creo que por etica y por comodidad es mas preferible dividir las cositas en modulos. Tambien hay opcion en el Api TK de ocultar la ventana principal cuando otra abre y cuando esa otra que abrio cierra volver a aparecer la ventana principal que estaba escondida (pero alojada en memoria) pero ciertamente se hacerlo en Perl/Tk mas no Python/tk aunque asumo el proceso debe ser similar.

Un saludo  :-*


Título: Re: ¿Llamar a la ejecucion de otro archivo? (Python)
Publicado por: XD YO en 13 Febrero 2010, 02:37 am
Muchas Gracias  ;-)