Python中的Tkinter OpenGL上下文

26

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

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

我尝试运行提供的代码,但出现了“未找到TOGL模块”的消息。 我从http://togl.sourceforge.net/下载了模块,但无法使其正常工作。

附注:我在Mac OS X上进行了测试,使用virtualenv和Python 3.2。


3
TOGL 模块出了什么问题?你收到错误信息了吗?如果有,请发布 traceback。 - Joel Cornett
是的,如果您能详细说明一下就好了。 - Don Question
猜测,这个模块似乎很旧。也许运行Python 2.7可以解决你的问题? - jorrebor
很抱歉没有发布代码并且回答晚了。我本来想再试一下,但是在PyOpenGL文档中找不到关于如何在Tkinter中使用它的信息(他们只说支持)。我最初粘贴的链接已经失效了。 无论如何,我正在尝试理解在哪里放置togl小部件,这样我就可以再次尝试,包括Python 2.7和3.3。 - FeliceMente
1个回答

10

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可正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接