2012-08-07 6 views
23

Python 모듈과 함께 사용하기 위해 Tkinker에서 OpenGL 컨텍스트를 만들어야합니다.Python의 Tkinter OpenGL 컨텍스트

Tkinker는 기본적으로는 OpenGL 컨텍스트를 지원하지 않습니다,하지만 난 이것에 대한 모듈에 포함 된 래퍼를 사용하는 방법을 설명, PyOpenGL의 문서에이 페이지를 발견 : http://pyopengl.sourceforge.net/documentation/context/

나는 제공된 코드를 실행하려고하지만 TOGL 모듈을 찾을 수 없다는 메시지가 나타납니다. http://togl.sourceforge.net/에서 모듈을 다운로드했지만 작동하지 못했습니다.

추신. 필자는 virtualenv를 사용하여 Python 3.2와 함께 Mac OS X에서 테스트를 수행했습니다.

+3

정확히 TOGL 모듈에서 작동하지 않는 것은 무엇입니까? 오류가 있었습니까? 그렇다면 추적을 게시하십시오. –

+0

네가 정교 할 수 있다면 네가 좋을거야. –

+0

그냥 추측하지만 모듈은 오래 된 것 같습니다. 어쩌면 파이썬 2.7을 실행하면 문제가 해결 될까요? – jorrebor

답변

7

PyOpenGL은 Tk OpenGL 위젯 (Togl)은 Python 바인딩을 제공하지만 Togl 자체는 Python 바인딩을 제공하지 않으므로 다운로드해야합니다. 이제 Togl을 설치하는 것은 쉽지만 작업을 수행 할 준비가 된 도구는 없습니다. 파이썬 바인딩은 Togl 모듈을로드하기 위해 Tcl을 사용할 것이므로 위젯은 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을로드하려고 시도하는데 너무 나쁘면 실패합니다. 그 이유는 토글이 i386 용으로 미리 컴파일되어 있기 때문입니다. 왜냐하면 필자는 파이썬을 유니버설 바이너리로 빌드했기 때문에 이것을 모두 arch -i386 python2.7으로 실행 했으므로 이제 import OpenGL.Tk이 작동합니다.

관련 문제