내 이력에 GUI프로그래밍은 찾아볼래야 찾아볼수 없는 이력인데, 요즘 울며 겨자먹기로 GUI프로그래밍을 한다.
뭐 Visual Basic이야 대학교때부터 했던것이지만, MS에서 지원 중단한 뒤로는 쓰지 않고 있고.
Delphi는 한때 정말 좋아하는 툴이였지만 개발 기회가 없어서 덮어두었던 툴이다.(사실 툴이 굉장히 비싸기도 하다.)
뭐 요즘 내가 개발을 죄다 OpenSource 개발툴이나 언어로 개발을 해서 (GCC, Python) 뭐 GUI 프로그래밍도 OpenSource로 나가기로 했다.
WxWigets이라는 C++로 구현된 Cross-platform GUI programming 라이브러리를 Python 랩핑한 라이브러리가 WxPython이다. 뭐 이번에 WxPython in Action이라는 책도 출간도 되었겠다. 전에도 몇번 이걸로 뭔가를 만들어본 경험이 있어서 이걸 이용해 GUI 프로그램을 개발하고 있다.
예전에도 GUI프로그래밍이 어떻더라는걸 알고 있었지만 정말 손이 많이 가는 작업이다. 실제 코어부분은 프로세스, 시그널 핸들링 등의 프로세스 핸들링 부분일텐데 디자인만 하느라고 이틀을 잡아 먹었다.(솔직히 좀 헤멘 부분이 좀 있었다.) 전에 WxPython으로 프로그레스 바를 만들어본 경험이 있는데 실제 프로그래스바를 실시간으로 증가되게 만들어야 하는데 GUI쓰레드 부분을 잘 사용을 못하는것인지 아니면 내가 라이브러리를 확실하게 알지를 못한게 원인인지 모르겠지만 프로그래스바가 실시간으로 증가가 되지 않아서 곤혹을 치른적이 있었다. 편법(물론 편법은 아닐꺼다. 내부적으로 이런식으로 돌아갈꺼니까)으로 프로그래스바 증가 시키는 스레드를 생성해 돌려보니 아주 잘 돌아갔던 경험이 있다.
결론적으로 아직 여러 자료가 부족해 위와 같은 책을 오래동안 기다렸었던게 사실이다. 그러면 위와 같은 고민이나 시행착오는 좀 줄어들지 않을까 한다.
오늘은 디자인은 거짐 다 끝나고 이젠 내부 로직을 제작할 시간이다. 한동안 GUI 프로그래밍을 그만두엇다가 다시 해보니 감회가 새롭다.
그렇지만 할만은 하지만 오래 잡고 있을만한 작업은 아닌듯 싶다. 일단 재미가 오래 못간다.^^;
ps. 그나저나 오랜만에 Python.org에 들러봤더니 Python 2.4.3 버전이 출시되었넹.
근 이틀을 GUI프로그래밍을 했다. by from __future__ import dream is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.