8

Python で glut を使用してウィンドウを作成しようとしており、次のコードがあります。

glutInit()
    glutInitWindowSize(windowWidth, windowHeight)
    glutInitWindowPosition(int(centreX - windowWidth/2), int(centreY - windowHeight/2))
    glutCreateWindow("MyWindow")
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH)
    glutDisplayFunc(displayFun)
    glutIdleFunc(animateFun)
    glutKeyboardFunc(keyboardFun)
    glutPassiveMotionFunc(mouseFun)

    glutReshapeFunc(reshapeFun)
    initFun()
    #loadTextures()
    glutMainLoop()

「glutCreateWindow」行で次のようなエラーが表示されます。

Traceback (most recent call last):
  File "F:\MyProject\main.py", line 301, in <module>
    glutCreateWindow("MyWindow")
  File "C:\Python34\lib\site-packages\OpenGL\GLUT\special.py", line 73, in glutCreateWindow
    return __glutCreateWindowWithExit(title, _exitfunc)
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type

この関数のドキュメントは指定します

int glutCreateWindow(char *name);
4

4 に答える 4

19

まったく同じ問題に遭遇し、次のブログ エントリを見つけました。

http://codeyarns.com/2012/04/27/pyopengl-glut-ctypes-error/

基本的に、文字列ではなくバイトデータを渡すことを指定する必要がありますb'Window Title'

于 2014-11-26T16:28:09.433 に答える
-2

Intel Core Duo を搭載した Windows 7 64 ビット

インストール済み: python-3.4.0.amd64.exe

pip install image
pip install numpy

からダウンロードしたホイール パック: http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype

PyOpenGL-3.1.1-cp34-cp34m-win_amd64.whl を持つ

pip install PyOpenGL-3.1.1-cp34-cp34m-win_amd64.whl をインストールしようとしました

メッセージを受け取りました:

PyOpenGL-3.1.1-cp34-cp34m-win_amd64.whl is not supported wheel on this platform

アップグレードされたピップ:

python -m pip --upgrade pip

アップグレード後、正常にインストールされました

pip install PyOpenGL-3.1.1-cp34-cp34m-win_amd64.whl

pip install PyOpenGL_accelerate-3.1.1-cp34-cp34m-win_amd64.whl

からコードを実行したかった: http://noobtuts.com/python/opengl-introduction

エラーが発生しました:

ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type

function:glutCreateWindow("name")を変更glutCreateWindow(b'name')して実行しました。

要約:

python -m pip --upgrade pip

pip install image

pip install numpy

pip install PyOpenGL-3.1.1-cp34-cp34m-win_amd64.whl

pip install PyOpenGL_accelerate-3.1.1-cp34-cp34m-win_amd64.whl

通話を からglutCreateWindow("name")に 変更glutCreateWindow(b'name')

于 2016-05-09T01:16:26.213 に答える