나도코딩님의 동영상을 보며 공부를 한지는 꽤 시간이 지났으나,
정리를 하지 않아서 였는지... 기억하는 내용도 점점 줄어드는 것 같아
오랫만에 진행했던 공부를 다시 정리해보려 한다.
오늘 정리할 내용은 컴퓨터가 일반적으로 보급될 수 있었던 이유 중 하나라고 하는
GUI (Graphical User Interface) 관련 부분이다.
사용자가 시각적으로 보고 조작할 수 있게 하여 사용함에 있어 더 직관적으로 사용할 수 있도록 하는 기능이다.
GUI가 없을 때에는 사용자가 모든 명령어를 외우거나 알고 있어야 컴퓨터가 사용가능했기 때문에 컴퓨터의 사용은 전문적인 분야였고, (물론 지금도 프로그램이나 HW 등과 같은 일반 사용자가 생소한 부분은 전문분야이다)
보급율이 또한 낮았다.
그러나 현재 우리는 대부분 GUI기반의 OS(Windows)를 사용하기 때문에 공유를 비롯한 대부분의 설정과 조작을
어렵지 않게 할 수 있게 되고 PC(Personol Computer) 라는 명칭에 맞게 사용을 하고있다.
하지만, 마우스도 없이 검은 cmd 창에서만 해보라고 하면 할 수 있는 사람이 몇 명이나 될까?
아마 대부분 머리 속이 하얗게 변하고 원하는 설정을 하지 못하거나 매번 인터넷을 이용하여 명령어를 찾아야 할 것이다.
※ 이러한 문자를 통한 조작 방법을 CUI(Character User Interface)라고 한다.
단순히 공유 설정만 하려 해도
1. cmd 창을 열고
2. cd 를 이용해 경로를 이동하고
3. dir 로 현재 경로에 내가 원하는 폴더가 있는지 리스트를 확인하고
4. mkdir 로 원하는 폴더를 생성하고
5. net share 로 공유폴더를 설정이 필요했다.
아래 파란색으로 보이는 항목처럼 명령어를 잘못치거나 (공유 이름 뒤에 '=' 이 누락됨) 명령어를 알지 못하면 아무런 작업을 할 수 없다.
오마이갓......(공유가 이토록 어려운 것이었다니.....참고로 현재는 해당 폴더에 대한 권한 설정도 하지 않았다......)
단순한 위의 예시만 봐도 왜 GUI가 CUI보다 접근성과 직관력이 뛰어난지 쉽게 이해할 수 있고 필요성 또한 느낄 수 있다고 생각한다 .
그럼 다시 우리가 공부하고 있는 python으로 돌아가보자.
아직 우리는 CUI의 단계를 벗어나지 못했다......
우리가 표현할 수 있는 출력물이라고는 print를 통한 단순 문자열 밖에 없는게 사실이다... ㅠㅠ
print('')
print('')
print('⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀')
print('⠀⢠⣶⣶⣶⣿⣷⣶⣶⡆⠀⠀⠀⣶⣶⣶⣶⣶⣶⣶⡆⠀⠀⣴⣶⣶⣶⡄⢸⣿⢸⣿⠀⠀⠀⣶⣶⣶⣶⣶⣶⣶⠀⠀')
print('⠀⠀⢠⣶⠿⠿⠿⢷⣦⠀⠀⠀⠀⠀⢀⣴⣿⣧⡀⠀⠀⠀⠀⣿⣇⣀⡀⠀⢸⣿⢸⣿⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠀⠀')
print('⠀⠀⠹⢿⣦⣤⣤⣾⠟⠀⠀⠀⢠⣶⠿⠋⠀⠉⠻⢷⡦⠀⠀⣿⡏⠉⠁⠛⣿⣿⢸⣿⠀⠀⠸⠿⠛⠛⠛⠛⢻⣿⠀⠀')
print('⠀⣶⣶⣶⣶⣶⣶⣶⣶⣶⡆⠀⣀⣀⣀⣀⣀⣀⣀⣀⣀⡀⠀⣿⣷⣶⣶⡆⣽⣿⢸⣿⠀⢀⣀⣀⣀⣀⣀⣀⣸⣿⣀⡀')
print('⠀⠀⠀⠀⠀⣿⡇⠀⠀⠀⠀⠀⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃⠀⠀⠀⠀⠀⠀⢸⣿⢸⣿⠀⠘⠛⠛⠛⠛⠛⠛⠛⠛⠛⠃')
print('⠀⠀⠀⠀⠀⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠈⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀')
보편적으로 보게 되는 프로그램과의 수준 차이가 어마 어마 하다.....
그래서 이제 이런 격차를 조금이라도 줄여보기 위한 Python에서의 GUI에 대한 공부와 사용법에 대해 알아보자.
python 에서 지원하는 GUI 모듈은 PYQT, PySlide, Tkinter 등 여러가지가 있다.
상용화시 저작권 등의 문제로 사용함에 있어서 구분은 있지만 사용법은 크게 다르지 않았다.
나도코딩님의 Tkinter를 먼저 배우고 용어와 개념만 이해하면
나머지 모듈도 Google 검색이라는 약간의 과정만 거치면 사용 가능할 정도였다.
가장 중요한건 기본 용어와 사용처!!!
사실....활용편 1(Pygame) 보다는 훨씬 이해하기가 쉬웠다.
기본과 활용1을 통해 기본적인 python 을 이해하는 능력이 좋아진 것도 있을 거라 생각된다.
그래서 기존과 동일한 방법으로 구간적인 반복을 진행했고,
한번에 공부할 수 있는 범위가 활용 1편에 비해 길어졌다.
활용 1편(Pygame)은 30~40분 정도를 이해할 수 있을 때가지 반복 시청한 반면,
활용 2편(GUI)는 1시간 단위로 진행을 해도 훨씬 수월하게 내용을 익힐 수 있었다.
간단히 목차와 공부량을 살펴보면
[1일차]
1. 소개
2. 활용편2 소개
3. 기본 프레임
4. 버튼
5. 레이블
6. 텍스트 & 엔트리
7. 리스트 박스
8. 체크 버튼
9. 라디오 버튼
10 .콤보 박스
11. 프로그레스 바
[2일차]
12. 메뉴
13. 메시지 박스
14. 프레임
15. 스크롤 바
16. 그리드 기본
17. 그리드 심화
18. 퀴즈 (메모장 만들기)
[3일차]
19. 프로젝트 (이미지 합치기 프로그램 만들기)
20. 레이아웃 전반전
21. 레이아웃 후반전
22. 레이아웃 연장전
23. 파일 추가 & 선택 삭제
24. 저장 경로
25. 자동 스크린샷
26. 이미지 합치기
[4일차]
27. 프로그레스 바 연동
28. zip
29. 옵션 전반전
30. 옵션 후반전
31. 버그 수정
32. (보너스) 스크린 샷 프로그램
의 과정으로 1일차는 동영상 기준 약 1시간 정도의 강의 내용을 학습했다.
4일이면 GUI를 대략 마스터 할 수 있다는 믿을 수 없는 결론(?)이 나오지만
모두가 충분히 할 수 있는 범위가 아닐까 생각한다......
이제 진짜 Python GUI(Tkinter) 에 관한 내용으로 정리해보도록 하겠다.
Comming Soon....
[Python 파이썬 독학 활용2편 2일차] GUI(tkinter) - 2-2 (0) | 2021.08.01 |
---|---|
[Python 파이썬 독학 활용2편 2일차] GUI(tkinter) - 2-1 (0) | 2021.08.01 |
[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-3 (0) | 2021.07.30 |
[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-2 (0) | 2021.07.29 |
[Python 파이썬 독학 활용2편 1일차] GUI(tkinter) - 1-1 (0) | 2021.07.29 |
댓글 영역