요약
(1) 지식이 늘었다

(2) CallBack함수라는 개념을 배웠다

(3) 라이센스와 난이도 문제때문에 다른 GUI모듈을 쳐다봤지만 지옥이었다


상세

(1) 지식이 늘었다

- 결론만 말하자면... tkinter의 StringVar을 통한, erabasic처럼 RESULT를 반환하는 것은 실패했음

- 가장 큰 이유는, 리소스 관리문제로 적용시킬 수가 없음

- 뭔 말이냐? 분명히 난 프로그램을 껐는데, 꺼지지 않는다...라는 상황이 터져버림

  더 쉽게? 종료했는데 종료가 안되는 메모리 누수를 일으키는 악성 좀비 프로그램이 탄생했다는거임

- 파이썬의 경우 최악의 경우 메모리 사용량이 폭증할 수 있는데 이걸 해결할려고 4시간 정도 붙잡고 있었는데

  결국 결론은 내가 구현한 StringVar과 wait_variables 조합이 문제였음....

- 이 시점에서 내 능력은 여기까지인가 싶어서 좌절감과 함께 그냥 런치고 튈까...라는 생각을 하고 있었음

(2) CallBack함수라는 개념을 배웠다

- ChatGPT에다가 소스파일 올려서 조교중인데, 이놈이 내가 원하는 답을 안줘서 겁나 답답함

  그러다가 좌절하고 런칠까 말까 고민하게 만들었던 저 문제의 해결방법으로 CallBack함수라는 개념을 소개함

- 뭔 말이냐...실행 "예정" 인 함수를 하나 품고 있다가 클릭하면 실행되는 구조라는거임

- 그리고 이 개념 덕분에 문제가 해결됨

- 겸사겸사, tkinter의 after라는 메서드를 통해, 종료된 후, 실행할 함수를 "예약"한다는 개념을 배웠음

(3) 라이센스와 난이도 문제때문에 다른 GUI모듈을 쳐다봤지만 지옥이었다

- 사실 제일 베스트는 엄청나게 간결하고 내가 원하는 구조를 구현할 수 있는 PySimpleGUI를 쓰는거임

- 하지만 1년 라이센스 비용이 99달러이고, 1번의 버전업을 지원한다고 되어있는데....개발툴치고 사실 싼 편이긴 한데...
  뭔가 여기까지 오니까 오기가 생겨버림

  게다가 저 콜백을 보고 나니까 더 오기가 생겨서 다른 GUI도 쳐다봄

- 그 후, 난 tkinter에 충성을 다하기로 맹세했다

- 다른 GUI는 상상을 초월하는 문법/구조때문에 너무 어려워서 결국 어거지로 쓰기로 결심함

PS

- Q. ???? 맵에 색깔 안붙인다며?
- A. 그냥 포기하고 붙였음