티스토리 뷰

gui_basic.zip
0.01MB
gui_project.zip
0.01MB

대학시절 제가 처음으로 배운 언어는 C 였습니다.
(아, 꼬꼬마 시절에 GW-BASIC 도 배워보긴 했지만, 논외로 하겠습니다 ㅋ)

C를 배우면서 느낀 점은 이랬습니다.
1. 어렵다
2. 어렵다
3. 어렵다
4. 아 C.. 뭔 소리야
-- 포인터 수업 이후 --
5. 기억 없음



교수님은 열심히 가르쳐 주셨죠. 정말 열심히요.



그런데 한 가지 의문이 남았습니다.

"왜 글자만 나오지?? 내가 쓰는 프로그램들은 모두 예쁜 그래픽이 있는데?"

압축 프로그램, 워드, 게임, 브라우저는 물론 
하다 못해 메모장, 그림판, 지뢰찾기도 모두 예쁜 창 안에 버튼과 이미지 등등이 있었지요.

너무 궁금해서 조교님께도 여쭤봤지만 돌아오는 대답은

"공부 하다 보면 알게 돼요. C 하나만 제대로 해도 먹고 살 수 있어요"



네, 지금 돌아보니 조교님의 말씀은 틀리지는 않았어요.
하지만 그 때 당시 저는 너무 답답했고 그 이후로도 글자만 나오는 코딩만 하며 개발에 크게 흥미를 느끼지 못했습니다.



전공 과목 실습이나 과제가 다 이런 식이었어요

C 로 피라미드 만들기라던지



C 로 구구단 짜기.. 모두 글자만 나왔죠



어린 생각으로는, 코딩을 배운답시고 이런 것만 만들면, 
아무리 열심히 만들어도 차마 누구한테 써보라고 줄 수가 없겠더라구요..



제가 원한 모습은 바로 이런 거였죠.

최소 자바로 만든 메모장이나



뭔가 동작할 수 있어 보이는 이런 거요.





네, 바로 GUI 라는 녀석을 덮어 씌운 프로그램입니다.
(GUI : Graphical User Interface)




이번 활용편 주제가 바로 이 'GUI 프로그래밍' 입니다.

파이썬 진영에는 다양한 GUI 라이브러리가 있어요.

(tkinter, PyQt, wxPython, PyGui, PySide, ...)

저는 그 중에 가장 쉽고 빠르게 개발할 수 있는 tkinter 를 선정했습니다.
파이썬을 설치하면 자동으로 딸려오는 녀석이기도 하지요.



국내에는 찾아봤는데 tkinter 를 다루는 강의 영상이 거의 없었습니다.
해외의 모 유료 프로그래밍 교육 사이트에서는 1순위로 tkinter 를 가르치고 있더군요.
근소한 차이로 2순위가 PyQt 구요.

그런데 할인되지 않은 수강료가 무려 220,000 원!!! 입니다.
그것도 자막 하나 없이 영어로 말이죠. (당연히 강사가 외국인이니까 ㅋㅋ)

물론 굉장히 자세하고 많은 내용을 가르칠 수도 있겠지만,
그래도 저 비싼 돈을 주고 배우기에는 아무래도 부담이 되지요.

그래서! 공부에 어려움을 겪을지도 모르는 분들을 위해 제가 직접 만들게 되었습니다 !!
제 생각에는, 이 영상 하나만 보셔도 여러분이 직접 GUI 프로그래밍을 어느 정도 하실 수 있게 될겁니다.

필요한 건 파이썬 기본 지식과 여러분의 소중한 4시간입니다.
늘 그랬지만 영상에 광고는 1초도 없으니 편하게 보실 수 있어요 ^^


그냥 가르치는게 아니고 (제 짱구를 열심히 굴려서 나름) 체계적으로 커리큘럼을 만들었습니다.



처음에는 tkinter 의 기초를 먼저 공부하면서 어떤 위젯(widget) 들이 있는지, 어떻게 쓰는지 먼저 공부합니다.


딸깍 눌러볼 수 있는 버튼도 있구요


그냥 글자나 이미지를 보여주기만 하는 레이블도 있습니다.


정말 자주 사용되는, 글자를 입력할 수 있는 엔트리와 텍스트 박스도 배우구요.


여러 항목을 쉽게 관리할 수 있는 리스트 박스도 있어요 ^^


이거 자주 보시죠? 체크버튼이지요 ㅋ


여러 개 중에 하나를 선택할 수 있는 라디오 버튼도 있어요.


이 중요한 것들을 포함하여 몇 가지를 더 배우고 화면 상단 메뉴도 한 번 만들어 봅니다.


위젯을 어떻게 내가 원하는대로 배치하는지도 공부해봐야겠죠?

그러기 위해서 키보드의 숫자 키패드 부분을 만들어 봅니다. 

계산기 같기도 하네요 ㅎㅎ



그리고 나서는, 기초를 배웠는데 퀴즈가 빠질 수 없죠!

복습 삼아서, 윈도우 메모장과 똑같은 프로그램 하나 만들어보구요.

(tkinter 로 만들 메모장)



(원본 메모장)



물론 여러분이 직접 만들게 되실 거에요 ^^




여기까지 하는데 영상 기준으로 딱 2시간이면 됩니다.
그 후에는... 제가 너무너무 좋아하는 프로젝트를 진행합니다.
코딩 공부의 꽃은 직접 어느 정도 규모 있는 프로그램을 만들어 보는 것이니까요. ^^


어떤 프로젝트냐면 바로..
인터넷에 보면 드라마나 영화나 TV 프로그램의 주요한 장면을 모아서 하나로 합친 이미지 있죠?
예를 들면 이런 것들이요 (사랑해요 무한도전..)



영상을 보면서 원하는 장면을 캡처하고, 캡처한 이미지를 하나씩 합치는 게 보통 일이 아닙니다.
그래서 이 작업을 엄청 편하게 하는 프로그램을 만들어 볼거에요.

프로그램의 생김새와 사용법은 대략 이렇습니다.

1. 합칠 이미지를 고르고
2. 저장 경로를 선택하고
3. 시작을 누르면?
끝!!



..그럴듯 하지 않나요???  ^^



보너스로 키보드를 누르면 자동으로 스크린 캡처를 하여 파일로 저장해주는 유틸리티도 만들어 봅니다.
그래야 진짜로 영상을 보면서 이 프로그램을 사용할 수 있을테니까요 ^^

여기까지 하시고 나면 
- GUI 프로그래밍은 어떻게 만드는지
- 그동안 글자로만 연습하던 코드가 GUI 와 어떻게 어우러지는지
- 버튼을 클릭하면 동작이 어떻게 연결되는지
- 전체적인 구조는 어떻게 잡는지

등등을 모두 배우시게 됩니다.

 

목차는 이렇습니다. 
1. 소개 
2. 활용편2 소개 
3. 기본 프레임 
4. 버튼 
5. 레이블 
6. 텍스트 & 엔트리 
7. 리스트 박스 
8. 체크 버튼 
9. 라디오 버튼 
10 .콤보 박스 
11. 프로그레스 바 
12. 메뉴 
13. 메시지 박스 
14. 프레임 
15. 스크롤 바 
16. 그리드 기본 
17. 그리드 심화 
18. 퀴즈 (메모장 만들기) 
19. 프로젝트 (이미지 합치기 프로그램 만들기) 
20. 레이아웃 전반전 
21. 레이아웃 후반전 
22. 레이아웃 연장전 
23. 파일 추가 & 선택 삭제 
24. 저장 경로 
25. 자동 스크린샷 
26. 이미지 합치기 
27. 프로그레스 바 연동 
28. zip 
29. 옵션 전반전 
30. 옵션 후반전 
31. 버그 수정 
32. (보너스) 스크린 샷 프로그램 


이 강의의 대상은 파이썬 기초 문법을 어느 정도 아시는 분들입니다. 

 

 

파이썬을 처음 접하시는 분들은 여기를 클릭해주세요 ^^

 

[나도코딩] 파이썬 기본편 - 소개

이 강의는 파이썬 기본편 강의입니다. 환경설정부터 모듈/패키지까지, 파이썬 사용을 위해 알아야 할 모든 내용을 단기간에 알려드립니다. ▶ 왜 배워야 하나요? Stack Overflow 설문 응답에�

nadocoding.tistory.com

 

이후 구상중인 커리큘럼입니다.

1. 게임 개발
 - 오락실에서 하던 Pang 게임

 

[나도코딩] 파이썬 활용편1 게임개발 - 소개

많은 분들이 파이썬 기초까지는 잘 배우지만,  1. 초보를 벗어나 중급자로 실력을 키우려면?  2. 파이썬을 가지고 뭘 할 수 있는지? 이 2가지로 어려움을 겪고 있는 줄로 압니다. 그래서 저는 이 �

nadocoding.tistory.com

  
2. GUI 프로그래밍
 - 영상에서 캡처한 여러 이미지들을 하나로 합치는 프로그램

3. 웹스크래핑 (제작 중)
 - 내가 원하는 뉴스를 매일 자동으로 긁어오는 프로그램

 

 

[나도코딩] 파이썬 활용편3 웹스크래핑 - 소개

혹시 늑대와 일곱 마리 아기 염소 이야기, 기억 하시나요? 엄마가 집을 비운 사이 일곱 마리 아기 염소만 남아 있는데 나쁜 늑대가 찾아옵니다. "나 엄마야, 문 좀 열어줘" 근데�

nadocoding.tistory.com



4. 업무자동화 (제작 중) 
 - 엑셀, 인터넷, 데스크탑 등 컴퓨터에게 일을 시키는 스크립트

5. 데이터 분석 및 시각화
 - 빅데이터를 활용한 대한민국의 인구 문제 분석

6. 얼굴 인식
 - 이미지 / 영상에서 얼굴을 인식하여 얼굴 위에 재밌는 캐릭터 씌우기

7. 머신러닝
 - KNN 을 통해 사용자별 영화 추천 시스템 개발

8. 사물인터넷
 - 아두이노를 활용한 RC Car 제작


코딩, 파이썬 공부하시려는 분들께 작게나마 도움되면 좋겠습니다.
감사합니다. ^^

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함