¿Llamar a la ejecucion de otro archivo? (Python)

Iniciado por XD YO, 10 Febrero 2010, 00:46 AM

0 Miembros y 1 Visitante están viendo este tema.

XD YO

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.
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

^Tifa^

#1
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 (python) [Seleccionar]


#!/usr/bin/python

from Tkinter import *
from modulo import *

ventana = Tk()
ventana.title("Proyecto")
boton = Button(ventana, text = "Pinchame", width = 15, relief = 'raised', command = (lambda: Ejemplo()))
boton.grid(row = 1, column = 2, padx = 5, pady = 5)

ventana.mainloop()


Esta es la ventana Dos (llamada modulo.py)

Código (python) [Seleccionar]


#!/usr/bin/python

from Tkinter import *

def Ejemplo():
  ventana1 = Tk()
  mensaje = Label(ventana1, text="Hola Mundo")
  mensaje.pack()
  ventana1.mainloop()



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

XD YO

#2
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.
"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal

^Tifa^

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  :-*

XD YO

"Fácilmente aceptamos la realidad, acaso porque intuimos que nada es real"
-Borges -El inmortal