2012-08-07 18 views
23

Necesito crear un contexto OpenGL en Tkinker, para usarlo con el módulo PyOpenGL Python.Contexto OpenGL de Tkinter en Python

Tkinker no soporta de forma nativa contexto OpenGL, pero he encontrado esta página en documentos PyOpenGL, que explica cómo utilizar un envoltorio incluido en el módulo para esto: http://pyopengl.sourceforge.net/documentation/context/

me trató de ejecutar el código proporcionado pero recibí un mensaje que decía que no se encontró el módulo TOGL. Descargué el módulo desde http://togl.sourceforge.net/, pero no pude hacerlo funcionar.

PS. Hice la prueba en Mac OS X, con Python 3.2, usando virtualenv.

+3

¿Qué exactamente no funcionaba con el módulo TOGL? ¿Recibió un error? Si es así, publique el rastreo. –

+0

Sí, estaría bien si pudieses dar más detalles. –

+0

simplemente adivinando, pero el módulo parece dejar de funcionar. ¿Tal vez ejecutar Python 2.7 corrige tu problema? – jorrebor

Respuesta

7

PyOpenGL proporciona enlaces Python para el widget Tk OpenGL (Togl) pero no Togl, por eso hay que descargarlo. Ahora, instalar Togl es fácil, pero no hay una herramienta lista para realizar la tarea. Como las vinculaciones de Python usarán Tcl para cargar el módulo Togl, el widget debe vivir en uno de los directorios presentes en Tcl's auto_path, que es donde Tcl busca cargar bibliotecas. Lo que puede hacer es iniciar un intérprete Tcl, tclsh, y verificar cuáles son estos directorios haciendo puts $auto_path. En mi caso, copié el directorio lib/Togl2.0 (dentro del .tar.gz de Togl) al /opt/local/lib/tcl8.5. También puede ampliar auto_path para buscar otros directorios, pero no lo estoy cubriendo aquí.

Luego probé utilizando Python 2.7 en Mac OSX. Al hacer import OpenGL.Tk intenta cargar Togl, lástima que falle. La razón es que Togl viene precompilado para i386, ya que construí Python como un binario universal, todo lo que hice fue ejecutarlo como arch -i386 python2.7, y ahora funciona import OpenGL.Tk.

Cuestiones relacionadas