본문 바로가기
Python

wxPython에서 이미지파일을 소스내에 포함시키기

by irmus 2008. 2. 29.
How to embed image files into a python source??

python으로 GUI 프로그램을 짜다가 윈도 아이콘을 넣고싶을 때, 보통이라면 그냥 ico파일 만들어 wxFrame.SetIcon()으로 지정하면 된다. 하지만 간단한 유틸리티성격의 GUI 프로그램이라 딱 하나의 파일로 만들고 싶은 경우라면? 이미지 파일을 파이썬 소스로 변환해서 소스 파일내에 내장시킬 수 있다.

wxPython에서 제공하는 img2py 유틸리티를 이용해 보자.

import sys
from wx.tools import img2py

arg = '-i MyIcon.ico MyIcon.py'
img2py.main(arg.split())

위와같이 사용하면 MyIcon.ico 파일을 MyIcon.py 파일로 변환시켜준다. 사용 목적에 따라 MyIcon.py 파일을 import해서 쓰거나 다른 소스 파일 내에 내용물을 복사해서 쓰면 되겠다...


참고로 arg에 -i 를 넣은 것은 이 파일이 icon 으로 쓰일 것이기 때문이다. -i 옵션을 주면 getIcon() 이라는 함수가 만들어진다.
-i 말고도 다양한 옵션이 있으니 help(img2py) 해서 읽어보도록 하자.