Disculpas

Chema Cortes py en ls-l.org
Mar Ago 2 10:33:29 CEST 2005


Martha Lucía Gallego López escribió:

> Lo que sucede con el mensaje de referencia Disculpas tiene que ver con
> una pregunta que hice hace algunos días a la lista, acerca de como
> hacer una operación matemática con entry's(que les puse nombre de
> cuadro1 y cuadro2 respectivamente a cada entry como ejemplo) y mostrar
> el resultado en otro entry y en la lista el señor Ernesto Villa

((supongo que será Ernesto REVilla ;-)))

> contesto a este mensaje con la instrucción
> cuadro3.set(calcularFuncion(cuadro1.get(), cuadro2.get)), a lo que
> puse en práctica tal instrucción, pero no me esta funcionando.

Con el código que has puesto no entiendo bien lo que pasa. Procura para
otra vez que quede identado correctamente.


Intuyo que la cuestión estaba en que tenías que usar StringVar, o al
menos es lo más simple para lo que quieres. A cada Entry le asocias en
su atributo "textvariable" una StringVar, y con el interface .get/.set
cambias su valor. Los entries se enteran de que ha cambiado el valor de
las variables y se actualizan automáticamente.


> --------------------------------        
> En cuanto a lo que usted me escribió acerca de import,

> from sys import *                                                     
>                                                                       
>                                from Tkinter import *                  
>                                                                       
>                                                             import
> Tkinter
> def resumen_promedios():                                              
>                                                                       
>                          	import promedios # el módulo promedios
> contiene más información y se muestra esta por medio de

Creo que estás confundiendo el "import" con el "include" que tienen
otros lenguajes.

Con "import promedios" se consigue que los objetos definidos en el
módulo "promedios" estén disponibles para el importador. El que haya
código que se ejecute durante la importación es algo "colateral" que no
debería usarse para ejecutar código arbitrario. El mecanismo de
importación está optimizado para que no se importe dos veces el mismo
módulo.

Lo adecuado es que todo ese código que tienes suelto en el módulo
"promedio" lo agrupes en una función "resumen_promedios" dentro del
módulo. Siempre podrás acceder a este código a través de la expresión
"promedios.resumen_promedios"

Te recomiendo que vuelvas a releerte la documentación sobre la
importación de módulos.


> --------------------------------
> Otra pregunta que surge de acuerdo a lo que usted me escribe, dice que
> únicamente se podría forzar la ejecución de un import si se hiciera un
> reload(módulo). Podría decirme si es válido usarlo para el código
> anterior y como serían las instrucciones para ello.

Creo que con lo explicado no deberías necesitar el "reload". La recarga
de un módulo sólo se hace cuando éste ha sido modificado. En general, no
es necesario.




Más información sobre la lista de distribución Python-es