개인적으로 python으로 GUI프로그램을 하나 작성할일이 생겨서, 여기에 그 과정을 기록해본다.

 

여기를 참고해서 파이선에 기본적으로 딸려 나온다는 Tkinter를 사용해보기로 결정했다.

처음 tutorial은 여기를 참고했는데, 기본적으로 딸려 나오는 모듈이라그런지 사용도 무척 쉬웠다.

만약 리눅스에 ssh로 접속하고 있다면 x-server를 사용해야하는데,

나의 경우 라즈베리파이에 깔린 라즈비안에 윈도우에서 MobaXTerm으로 접속하는데, 메뉴에서 Start X-Server만 해주면 바로 동작했다.

(집과 회사등 여러군데에서 ssh로 접속하는 경우는 실행할때 충돌나면서 안되는 경우가 있었는데, 이때는 여기참조해서 터미널(?) 하나를 죽여주면 잘 동작함을 확인)

 

한글로 레이블을 만들면 텍스트가 깨져보이는데, 이게 생각보다 고치기 쉽지 않네 ㅠ 검색도 잘 안되고.. 일단 그냥 영어버전으로 만들기로 하고(...) 넘어감

String으로 된 radiobutton 컨트롤의 경우 위링크에서 추가적으로 여기를 참조해야 초기값 세팅이 가능했다.

위젯간 align을 위해서 grid()를 사용하거나 pack()을 사용하거나 place()를 사용하는거 같은데, 나는 단순하게 하기 위해서 grid()를 사용했다(위의 tutorial에서 소개한 방법이기도 하고).. 섞어 쓰기 보다는 하나만 선택해서 써야하는 것 같은 인상을 받았다.

그런데 grid()의 경우 columnspan을 사용하거나, Frame()으로 그룹핑해주지 않으면 가상의 테이블 때문에 내가 원하는대로 배치가 되지 않는 현상이 있었다. 위짓간 align을 위해서는 sticky라는 키워드를 사용해야했는데, 좀 거지 같은 설계인것 같다.

 

 

 

 

반응형

'Programming > Python' 카테고리의 다른 글

mypy / pytype  (1) 2023.10.07
python 스트링 인코딩 핸들링  (0) 2021.11.30
파이선환경 그리고 requirements.txt  (0) 2020.09.20
Google Colab(Colaboratory Lab) 팁  (0) 2019.03.07
python array (indexing and slicing)  (0) 2019.02.28

+ Recent posts