2012-08-07 18 views
23

Tôi cần tạo ngữ cảnh OpenGL trong Tkinker, để sử dụng nó với mô-đun Python PyOpenGL.Ngữ cảnh OpenGL Tkinter bằng Python

Tkinker không natively hỗ trợ OpenGL bối cảnh, nhưng tôi tìm thấy trang này trên tài liệu PyOpenGL, giải thích làm thế nào để sử dụng một wrapper bao gồm trong mô-đun cho việc này: http://pyopengl.sourceforge.net/documentation/context/

Tôi cố gắng để chạy mã được cung cấp nhưng tôi có một thông báo nói rằng mô-đun TOGL không được tìm thấy. Tôi đã tải xuống mô-đun từ http://togl.sourceforge.net/, nhưng không thể làm cho nó hoạt động.

PS. Tôi đã làm thử nghiệm trên Mac OS X, với Python 3.2, sử dụng virtualenv.

+3

Chính xác thì không làm việc với mô-đun TOGL? Bạn có gặp lỗi không? Nếu vậy, hãy đăng truy nguyên. –

+0

vâng, sẽ rất tuyệt nếu bạn có thể xây dựng. –

+0

chỉ đoán, nhưng các mô-đun dường như bỏ cũ. Có lẽ chạy python 2,7 sửa chữa vấn đề của bạn? – jorrebor

Trả lời

7

PyOpenGL cung cấp các ràng buộc Python cho tiện ích Tk OpenGL (Togl) nhưng không tự Togl, đó là lý do tại sao bạn phải tải xuống. Bây giờ, để cài đặt Togl thật dễ dàng nhưng không có công cụ nào sẵn sàng thực hiện nhiệm vụ. Kể từ khi các ràng buộc Python sẽ sử dụng Tcl để tải các mô-đun Togl, các widget cần phải sống trong một trong các thư mục hiện tại trong Tcl của auto_path, đó là nơi mà Tcl trông cho tải thư viện. Những gì bạn có thể làm là bắt đầu một thông dịch viên Tcl, tclsh và kiểm tra những thư mục này bằng cách thực hiện puts $auto_path. Trong trường hợp của tôi, tôi đã sao chép thư mục lib/Togl2.0 (bên trong Togl's .tar.gz) thành /opt/local/lib/tcl8.5. Bạn cũng có thể mở rộng auto_path để tìm các thư mục khác, nhưng tôi không đề cập đến ở đây.

Sau đó, tôi đã thử nghiệm bằng Python 2.7 trên Mac OSX. Làm import OpenGL.Tk cố gắng tải Togl, quá xấu nó không thành công. Lý do là Togl được biên dịch trước cho i386, vì tôi đã xây dựng Python dưới dạng nhị phân phổ quát mà tất cả những gì tôi đã làm là chạy nó như arch -i386 python2.7 và bây giờ là import OpenGL.Tk hoạt động.