0
모든 종속성이 올바르게 설치되었습니다 (SDL2, SDL2_TTF, pysdl2). 글꼴의 파일 이름 만 입력하려고했는데 전체 경로를 하드 코드했습니다. 폰트는 python 파일과 같은 디렉토리에 있습니다.pysdl2 파이썬 바인딩을 사용하여 sdlttf.TTF_OpenFont()를 호출 할 때 오류가 발생했습니다.
import sys
try:
from sdl2 import *
import sdl2.ext as sdl2ext
import sdl2.sdlttf as sdlttf
except ImportError:
import traceback
traceback.print_exc()
sys.exit(1)
def run():
sdl2ext.init()
sdlttf.TTF_Init()
RESOURCES = sdl2ext.Resources(__file__, "")
# print(RESOURCES.get_path("arial.ttf"))
font = sdlttf.TTF_OpenFont(RESOURCES.get_path("arial.ttf"), 24)
window = sdl2ext.Window("SDL_TTF test", size=(800, 600))
message = sdlttf.TTF_RenderText_Solid(font, "Hello World", (255, 255, 255))
window.show()
running = True
while running:
events = sdl2ext.get_events()
for event in events:
if event.type == SDL_QUIT:
running = False
break
window.refresh()
return 0
if __name__ == "__main__":
sys.exit(run())
반환 값 :
Traceback (most recent call last):
File "sdl2_test.py", line 32, in <module>
sys.exit(run())
File "sdl2_test.py", line 17, in run
font = sdlttf.TTF_OpenFont(RESOURCES.get_path("arial.ttf"), 24)
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type