2012-08-07 104 views
23

我需要在Tkinker中创建一个OpenGL上下文,以便在PyOpenGL Python模块中使用它。Python中的Tkinter OpenGL上下文

Tkinker本身并不支持OpenGL上下文,但我发现这个网页上PyOpenGL文档,解释如何使用模块中包含的该包装: http://pyopengl.sourceforge.net/documentation/context/

我试图运行所提供的代码,但我有一条消息说TOGL模块没有找到。 我从http://togl.sourceforge.net/下载了该模块,但无法使其正常工作。

PS。我使用virtualenv在Python 3.2上使用Mac OS X进行了测试。

+3

什么不适用于TOGL模块?你有错误吗?如果是这样,发布回溯。 – 2012-11-01 04:31:55

+0

是的,如果你能详细说明会很好。 – 2012-11-07 21:28:22

+0

只是猜测,但模块似乎退出了老年。也许运行Python 2.7修复你的问题? – jorrebor 2012-11-13 13:50:39

回答

7

PyOpenGL为Tk OpenGL小部件(Togl)提供Python绑定,但不支持Togl本身,因此您必须下载它。现在,安装Togl很简单,但没有准备好执行任务的工具。由于Python绑定将使用Tcl来加载Togl模块,因此该小部件需要存在于Tcl的auto_path中的目录之一中,这是Tcl寻找加载库的目录。你可以做的是启动一个Tcl解释器,tclsh,并通过做puts $auto_path来检查这些目录是哪一个。在我的情况下,我将目录lib/Togl2.0(位于Togl的.tar.gz中)复制到/opt/local/lib/tcl8.5。您还可以扩展auto_path以查找其他目录,但我不在此处介绍。

然后我在Mac OSX上使用Python 2.7进行了测试。做import OpenGL.Tk尝试加载Togl,太糟糕,它失败。原因是Togl为i386预编译,因为我将Python构建为通用二进制文件,我所做的只是将它作为arch -i386 python2.7运行,现在import OpenGL.Tk正常运行。