Подтвердить что ты не робот

Контекст TKinter OpenGL в Python

Мне нужно создать контекст OpenGL в Tkinker, чтобы использовать его с PyOpenGL Python.

Tkinker не поддерживает OpenGL-контекст, но я нашел эту страницу в документах PyOpenGL, объясняя, как использовать обертку, включенную в модуль для этого: http://pyopengl.sourceforge.net/documentation/context/

Я попытался запустить предоставленный код, но получил сообщение о том, что модуль TOGL не найден. Я загрузил модуль из http://togl.sourceforge.net/, но не смог заставить его работать.

PS. Я сделал тест на Mac OS X с Python 3.2, используя virtualenv.

4b9b3361

Ответ 1

PyOpenGL предоставляет привязки Python для виджета Tk OpenGL (Togl), но не сам 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, чтобы искать другие каталоги, но я не рассматриваю это здесь.

Затем я тестировал Python 2.7 на Mac OSX. Выполнение import OpenGL.Tk пытается загрузить Togl, слишком плохо он терпит неудачу. Причина в том, что Togl поставляется предварительно скомпилированным для i386, так как я создал Python как универсальный двоичный файл, все, что я делал, выполнял его как arch -i386 python2.7, а теперь import OpenGL.Tk работает.