TCL en python (Re: [Python-es] Re: Resumen de Python-es, Vol 292, Envío 22)

Chema Cortes py en ch3m4.org
Mie Ago 23 12:33:32 CEST 2006


Rolando José Torres Sánchez escribió:

> Tengo una pregunta ??
> 
> Puede python trabajar con librerías de TCL como TKinter pero
> diferentes, como MySQLtcl??

En principio puede.

Como sabes, el tcl/tk está integrado en python. Con linux, se usa el
mismo tcl/tk; en windows, está "empotrado" dentro del directorio de
python. Si usas alguna distribución de python como ActivePython, puedes
optar a usar el tcl/tk empotrado de python o a usar el ActiveTcl. Con
ActiveTcl es muy sencillo instalar nuevos módulos para tcl.

Se puede controlar qué entorno tcl/tk usar a través de la variable de
entorno TCL_LIBRARY. Hay que procurar que sea la misma versión tcl/tk
para la que está linkado python (eg: python 2.4 <=> tcl/tk 8.4)

Para acceder al intérprete tcl (wish) lo puedes hacer a través de
Tkinter y su clase Tk:

import Tkinter
root=Tkinter.Tk()
root.tk.call("source","miscript.tcl")
root.tk.call("mifuncion",x,y)
...

Aparte del call, existen varios métodos más específicos para devolver
datos como eval, evalfile, exprlong,...

Si te molesta la ventana del tk, la puedes quitar con root.withdraw()
Si no vas a utilizar Tkinter para nada, también podrías hacerlo así:

import _tkinter
tk=_tkinter.create()
tk.eval("wm withdraw .")


> Por cierto, existe alguna web que reuna todo el código libre de Python
> como el wiki.tcl.tk para TCL, donde uno pueda acceder a los últimos
> alcances del lenguaje??

Existen esfuerzos de centralizar cosas como el pypi
(http://cheeseshop.python.org/pypi) o el wiki
(http://wiki.python.org/moin/), pero hay mucho más disperso por ahí.
Entre las imprescindibles estaría el cookbook:
http://aspn.activestate.com/ASPN/Python/Cookbook/




-- 
Chema Cortés (py en ch3m4.org)
"Proudly made on earth by generic humanoid carbon units"




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