펭찐이의 블로그

안녕하세요오오...

펭찐이의 블로그 자세히보기

찐따의 프로그래밍 독학/찐따의 파이썬 독학

찐따의 파이썬 독학 - 나만의 파이썬 GUI 런처 만들기

펭찐 2022. 3. 29. 17:31
반응형

지난 글

2022.03.28 - [찐따의 프로그래밍 독학/찐따의 파이썬 독학] - 찐따의 파이썬 독학 - 첫 GUI 프로그램 만들기 (메모장)

 

 

안녕하세요... 고졸 찐따인 흔한 찐따입니다.

지난번에 만든 메모장은 정말 아무런 기능도 없는, 말 그대로 텍스트 에디터에 불과했습니다.

네... 마치 저처럼 고졸 찐따같은 메모장이죠... ㅠㅅㅠ

물론.. 찐따인 제가 만든 프로그램이니까 어찌 보면 당연하겠지만요...

그래서 지난번에 만든 메모장에 기능을 더 추가해서 만들어봤습니다...

 

파이썬으로 메모장을 만들었고, 그 파이썬으로 만든 메모장으로 파이썬 런처(실행기)를 만들었습니다...

네... 이 파이썬으로 만든 메모장으로 만든 실행기로 만든 파이썬 코드를 실행해본 결과입니다...

(뭔가 난해한 거 같은데... 딱히 다른 방법으로 설명할 방법이 안 떠오르네요...)

이제는 단순한 메모장이 아니라, 엄연한 파이썬 코드 실행기가 되었습니다... ㅠㅅㅠ

 

전체 코드는 저의 깃허브 페이지에서 확인하실 수 있습니다.

 

GitHub - iam-jjintta/python-tutorial: 흔한 찐따의 파이썬 튜토리얼 (Python Tutorial)

흔한 찐따의 파이썬 튜토리얼 (Python Tutorial). Contribute to iam-jjintta/python-tutorial development by creating an account on GitHub.

github.com

 

 

실행 화면

 

 

실행 화면입니다.

생긴 건 지난번에 만든 메모장이랑 크게 다르지 않습니다...

굳이 차이점이라면... 아이콘이랑, 제목이랑, 메뉴가 추가된 것 정도겠네요....

 

이제 이 에디터에 파이썬 코드를 작성했습니다.

폰트도 바꾼 것을 확인할 수 있습니다.

그리고 제가 추가한 기능 중에서 텍스트 줌아웃(zoom-out) 기능을 추가했습니다.

 

 

"Ctrl + MouseWheel Down" 단축키를 사용하면 저렇게 텍스트 크기가 작아집니다.

 

반대로, 텍스트 줌인(zoom-in) 기능도 만들었습니다.

"Ctrl + MouseWheel Up" 단축키를 사용하면 저렇게 계속 폰트 크기를 대책 없이 키울 수도 있습니다....

 

그리고 제가 새로 추가한 기능인 "실행" 메뉴입니다.

"실행" 메뉴를 직접 눌러서 실행시키거나, 단축키 "F5"를 사용해서 바로 작성한 코드를 실행시킬 수 있습니다.

 

실행시키면 저렇게 코드를 실행한 결과창이 나옵니다.

 

그리고 저장하는 기능도 문제없이 작동합니다.

"Ctrl + S" 단축키로도 바로 저장할 수 있도록 만들었습니다.

그리고 잘 보시면... 저번에 없었던 확장자 선택하는 것까지 만들어놨습니다.

 

아무리 그래도 명색에 파이썬 실행기인데...

기본적으로 파이썬 확장자를 선택하도록 기능을 추가하는 게 맞는다고 생각이 들었습니다...

 

미리 작성된 파이썬 코드를 불러왔습니다.

역시 똑같이 실행시키면 실행 결과를 바로 확인할 수 있습니다.

 

그리고 잘못된 코드를 입력한 경우,

위에서 보시는 것처럼 exception hook 처리를 했기 때문에

저렇게 에러 메시지까지 확인할 수 있습니다.

 

추가로, 코드를 짜는데 Tab 키 입력 시 "\t" 문자가 입력되는 것이 너무 불편해서

Tab 키 입력 시 스페이스 4번(즉, 공백 문자 4번)이 입력되도록 기능을 추가해줬습니다.

 

사용한 라이브러리

사용한 라이브러리는 저번에 사용했던 거랑 동일합니다.

새로 추가해서 사용한 라이브러리는

파이썬 표준 라이브러리인 io 라이브러리를 사용했습니다.

 

추가한 기능

새롭게 추가한 기능들은 다음과 같습니다.

  • 파일 열기 시 ".py" 파일 확장자 구분 기능
  • 파이썬 코드 실행 기능
  • exception hook 메시지 출력 기능
  • 텍스트 줌인, 줌아웃 기능
  • Tab 키 입력 시 공백 문자 4번으로 치환 기능

 

마치며

그동안 제가 공부한 내용들을 토대로 이것저것 만들어보니까 재미있었습니다.

파이썬으로 메모장을 만들었고,

그 파이썬으로 만든 메모장으로 이 파이썬 실행기를 만들었고,

그리고 또다시 이 파이썬으로 만든 메모장으로 만든 파이썬 실행기로 만든....

아무튼.. 뇌절하는 프로젝트를 한번 계속 만들어볼 계획입니다... ㅎ.ㅎ

 

당장 더 추가해야 할 기능들도 꽤 많이 보이긴 합니다만,

저래 뵈어도 저 상태로도 나름 써먹을만합니다....

심플 이즈 베스트라고도 하니까.... ㅠㅅㅠ

 

 

반응형