프로그래밍 언어/<Python>

파이썬 Tk의 option_readfile('optionDB')

소혼 2010. 7. 6. 22:44
반응형
[목차]
1. PMW 설치하기
2. PMW 위젯을 사용하는 방법
3. PMW 메가 위젯을 빌드하는 방법
4. 파이썬 Tk의 option_readfile('optionDB')<이글>

Tcl/Tk를 만져볼 줄은 몰랐지만, 역시 블로그에 적힌 질문에 답으로 글을 남깁니다.
질문을 하면 최대한 모르는 것도 찾아서 답변해주는 소혼입니다.
(정말 모르는 것은 답변해드릴 수 없습니다.)

from Tkinter import *
root = Tk()
root.option_readfile('optionDB')

먼저 위 코드를 파이썬에서 실행하면 아래 그림과 같이 에러가 발생합니다.

에러 메시지에 적혀있는 것처럼 optionDB를 읽어들일 수 없다고 나옵니다.

option_readfile이란 option 정보를 파일로부터 읽어들이는 함수입니다.
즉 optionDB라고 하는 파일이 있어서 해당 파일로부터 배경색이라던가, 폰트 정보등을 현재 Tk 창에
반영하는 일을 수행하겠다는 뜻이 됩니다..

먼저 간단하게 optionDB를 만들어 보겠습니다.
파일은 파이썬 마을에서 가져왔습니다.
(기억할 점으로 grey 글자 뒤에도 한줄 공백이 있어야 합니다.)
*background: green
*foreground: grey



위와 같은 파일을 만듭니다. (파일은 별도 첨부함)
당연히 파일 명은 optionDB라고 하겠습니다.
일단 이 파일을 C:\밑에 저장하겠습니다.(나중에 지우시기 바랍니다)

이제 아래 명령을 수행합니다.
root.option_readfile('c:\optionDB')

아무런 반응이 없지만 에러도 나지 않습니다.
지난번 글에서 만들었던 Counter를 만들어 보겠습니다.
>>> import Pmw
>>> counter1 = Pmw.Counter()
>>> counter1.pack(padx = 10, pady = 10)


배경이 녹색이 되었고 전경이 회색이 되었습니다.
그럼 위 예제처럼 하려면 어떻게 해야 할까요?

그것을 확인하기 위해 sys.path를 출력해보겠습니다.
>>> import sys
>>> print(sys.path)
['', 'C:\\Python26\\modules', 'C:\\WINDOWS\\system32\\python26.zip', 'C:\\Python
26\\DLLs', 'C:\\Python26\\lib', 'C:\\Python26\\lib\\plat-win', 'C:\\Python26\\li
b\\lib-tk', 'C:\\Python26', 'C:\\Python26\\lib\\site-packages']

제 컴퓨터의 sys.path입니다. 첫번째 경로는 ''입니다. 경로중에 C:\\Python26이 보입니다.
해당 경로로optionDB를 옮겨보겠습니다.
optionDB을 수정하여 background는 red로 바꾸겠습니다.
 *background: red
*foreground: grey


이제 원래 명령이었던
root.option_readfile('optionDB')
를 수행해보면 아무런 에러가 없습니다.

이제 아래와 같이 counter를 하나 더 달아보면
>>> counter2 = Pmw.Counter()
>>> counter2.pack(padx = 10, pady = 10)
>>>



빨간색 카운터가 생겼습니다.




허접한 글이지만, 도움이 되셨다면 아래 손가락 꾹 눌러주세요.
반응형