Python 3 에서 PyOpenGL의 글쇠 먹통 문제
글쓴이: andysheep / 작성시간: 수, 2016/04/27 - 1:04오후
시험 환경은 64비트 데브원 리눅스
아래처럼 글쇠값 처리하면 key에 들어오는 값은 bytes라 if 문이 엉뚱한 짓을 해
글쇠 함수가 먹통이 됩니다. PyOpenGL 데모 예제 몽땅 글쇠 처리 못하는 버그가 있어요.
def keyboard(key, x, y): # Allow to quit by pressing 'Esc' or 'q' if key == chr(27): sys.exit() if key == 'q': sys.exit()
위 코드에 다음 코드 두 줄 넣고 돌려본 출력 예
ch = key.decode("utf-8")
print(type(key), key, type(ch), ch)
key는 bytes, ch는 유니코드로 변환된 string 값
<class 'bytes'> b'a' <class 'str'> a <class 'bytes'> b'b' <class 'str'> b <class 'bytes'> b'c' <class 'str'> c <class 'bytes'> b'1' <class 'str'>
아래처럼 bytes로 들어오는 글쇠 값을 string으로 변환해줍니다.
def keyboard(bkey, x, y): # Convert bytes object to string key = bkey.decode("utf-8") # Allow to quit by pressing 'Esc' or 'q' if key == chr(27): sys.exit() if key == 'q': print("Bye!") sys.exit()
Forums:
댓글 달기