파이썬 GUI 프로그래밍 쿡북 2/e [파이썬 3로 쉽고 빠르게 GUI 개발하기]
- 원서명Python GUI Programming Cookbook - Second Edition: Use recipes to develop responsive and powerful GUIs using Tkinter (ISBN 9781787129450)
- 지은이부르크하르트 메이어(Burkhard Meier)
- 옮긴이김동호
- ISBN : 9791161751474
- 35,000원
- 2018년 04월 26일 펴냄
- 페이퍼백 | 460쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 프로그래밍 언어
판매처
개정판책 소개
소스 코드 파일은 여기에서 내려 받으실 수 있습니다.
본문에 쓰인 컬러 이미지는 여기에서 내려 받으세요.
요약
파이썬 3를 사용해 GUI 프로그래밍 방법을 단계별로 설명하는 유용한 책이다. 앞의 레시피를 개선해 나가면서 다양한 분야의 새로운 개념을 이해시키는 방식은 해당 라이브러리가 왜 필요하고 어떻게 사용하는지 이해하기 쉽게 해준다. 단계별로 GUI 관련 기술뿐만 아니라 네트워크, 데이터베이스, 객체지향 사고에 이르기까지 적절하게 배울 수 있도록 예제가 준비돼 있어 언어 자체를 배우는 입문용으로도 적당하다. 비주얼 C++와 같은 쉽지 않은 도구로 데스크탑용 GUI 프로그래밍을 해본 경험이 있는 사용자라면 쉽고 간단하게 GUI를 만드는 파이썬의 심플함과 강력함에 놀라운 즐거움을 느끼게 되리라 생각한다.
이 책에서 다루는 내용
■ GUI 생성 및 위젯 추가
■ 레이아웃 관리자를 사용해 위젯 정렬
■ 객체지향 프로그래밍을 사용해 GUI 생성
■ Matplotlib 차트 작성
■ 스레드를 사용해 네트워크 통신
■ GUI를 통한 MySQL 데이터베이스 사용
■ GUI의 유닛테스트 및 국제화
■ 서드파티 그래픽 라이브러리로 GUI 확장
■ GUI 개발의 모범 사례 이해
이 책의 대상 독자
GUI를 개발하려는 프로그래머를 대상으로 한다. 파이썬 프로그래밍 언어를 사용해 아름답고, 기능적이고, 강력한 GUI를 만들면서 이룰 수 있는 것에 놀랄지도 모른다. 파이썬은 훌륭하고 직관적인 프로그래밍 언어며 매우 배우기 쉽다.
이 책의 구성
1장, ‘GUI 폼 만들기 및 위젯 추가하기’에서는 파이썬에서 첫 번째 GUI를 개발하는 방법을 설명한다. 실행 중인 GUI 애플리케이션을 빌드하는 데 필요한 최소 코드부터 시작한다. 그 다음, 각 레시피는 GUI에 여러 위젯을 추가한다.
2장, ‘레이아웃 관리’에서는 파이썬 GUI를 만들기 위해 위젯을 정렬하는 방법을 설명한다. 그리드 레이아웃 관리자는 사용할 tkinter에 내장된 가장 중요한 레이아웃 도구 중 하나다.
3장, ‘사용자 정의 룩앤필’에서는 좋은 룩앤필의 GUI를 만드는 방법에 대한 몇 가지 예를 보여준다. 실용적인 수준에서 레시피에서 만든 Help|About 메뉴 항목에 기능을 추가한다.
4장, ‘데이터와 클래스’에서는 GUI에 표시되는 데이터를 저장하는 방법에 대해 설명한다. 파이썬의 내장 기능을 확장하기 위해 객체지향 프로그래밍 OOP를 사용할 것이다.
5장, ‘Matplotlib 차트’에서는 시각적으로 데이터를 표현하는 아름다운 차트를 만드는 방법을 설명한다. 데이터 소스의 형식에 따라 동일한 차트 내에 하나 또는 여러 개의 데이터 열을 그릴 수 있다.
6장, ‘스레드와 네트워킹’에서는 스레드, 대기열 및 네트워크 연결을 사용해 파이썬 GUI의 기능을 확장하는 방법에 대해 설명한다. GUI가 사용자 PC의 지역 범위에 전혀 제한되지 않는다는 것을 보여줄 것이다.
7장, ‘GUI를 통해 MySQL에 데이터 저장하기’에서는 MySQL 데이터베이스 서버에 연결하는 방법을 보여준다. 이 장의 첫 번째 레시피에서는 무료 MySQL 서버 커뮤니티 에디션을 설치하는 방법을 보여줄 것이며, 다음 레시피에서는 데이터베이스, 테이블을 생성한 후, 해당 데이터를 로드하고 이러한 데이터를 수정한다. 또한 MySQL 서버에서 나온 데이터를 GUI로 읽어 들일 것이다.
8장, ‘국제화와 테스트’에서는 라벨, 버튼, 탭 및 기타 위젯을 다른 언어로 표시해 GUI를 국제화하는 방법을 보여준다. 간단하게 시작해 설계 단계에서 국제화를 위한 GUI를 준비할 수 있는 방법을 살펴볼 것이다. 또한 파이썬의 내장된 유닛 테스팅 프레임워크를 사용해 GUI를 자동 테스트하는 몇 가지 방법을 살펴볼 것이다.
9장, ‘wxPython 라이브러리로 GUI 확장하기’에서는현재 파이썬과 함께 제공되지 않는 다른 파이썬 GUI 툴킷을 소개한다. wxPython이며, 파이썬 3에서 잘 동작하도록 디자인된 피닉스 버전의 wxPython을 사용할 것이다.
10장, ‘PyOpenGL과 PyGLet으로 놀라운 3D GUI 생성하기’에서는 진정한 3차원 기능을 제공함으로써 GUI를 변환하는 방법을 보여준다. 2개의 파이썬 서드파티 패키지를 사용한다.
PyOpenGL은 모든 주요 운영 체제에 내장된 그래픽 라이브러리인 OpenGL 표준에 대한 파이썬 바인딩이다. 이것으로 결과 위젯에 기본 모양과 느낌이 부여된다. PyGLet은 이 장에서 살펴볼 또 다른 바인딩이다. 또한 PyOpenGL 라이브러리를 직접 사용하는 코드를 보여준다. 관심 있는 독자에게 약간의 문호를 열 수 있는 낮은 수준의 접근 방식이다.
11장, ‘모범 사례’에서는 GUI를 효율적으로 작성하고, 유지보수가 가능하고, 확장 가능한 GUI를 유지하는 데 도움이 되는 다양한 모범 사례에 대해 살펴본다. 모범 사례는 모든 코드에 적용할 수 있고, 훌륭한 소프트웨어 실무를 설계하고 구현하는데, GUI도 예외는 아니다.
목차
목차
- 1장. GUI 폼 만들기 및 위젯 추가하기
- 소개
- 첫 파이썬 GUI 만들기
- GUI 크기 조정 막기
- GUI 폼에 라벨 추가하기
- 버튼 생성 및 텍스트 속성 변경하기
- 텍스트 박스 위젯
- 위젯에 포커스 설정하고 비활성화하기
- 콤보 박스 위젯
- 초기 상태가 다른 체크 버튼 만들기
- 라디오 버튼 위젯 사용하기
- 스크롤되는 텍스트 위젯 사용하기
- 순환문에서 위젯 추가하기
- 2장. 레이아웃 관리
- 소개
- 라벨 프레임 위젯에 라벨들 배열하기
- 패딩을 사용해 위젯 주변에 공간 추가하기
- 위젯이 동적으로 GUI를 확장하는 방법프레임 내에 프레임을 임베드해 GUI 위젯 정렬
- 메뉴 바 생성하기
- 탭 위젯 만들기
- 그리드 레이아웃 관리자 사용하기
- 3장. 사용자 정의 룩앤필
- 소개정보, 경고, 오류 메시지 박스 생성하기독립적인 메시지 박스 생성 방법
- tkinter 윈도우 형식의 타이틀 생성 방법
- 메인 기본 윈도우 아이콘 변경하기
- 스핀 박스 컨트롤 사용하기
- SUNKEN, RAISED 형태의 입체적 위젯
- 툴팁 생성하기
- GUI에 프로그레스 바 추가하기
- 캔버스 위젯 사용법
- 4장. 데이터와 클래스
- 소개
- StringVar() 사용 방법
- 위젯에서 데이터를 얻는 방법
- 다중 레벨 전역 변수 사용하기
- 클래스에서 GUI를 개선하는 코딩 방법
- 콜백 함수 작성하기
- 재사용 가능한 GUI 컴포넌트 만들기
- 5장. Matplotlib 차트
- 소개
- Matplotlib으로 아름다운 차트 만들기pip로 whl 확장자의 Matplotlib 설치하기
- 첫 차트 만들기
- 차트에 레이블 배치하기
- 차트에 범례 추가하는 방법
- 차트 스케일링
- 동적으로 차트 스케일 조정하기
- 6장. 스레드와 네트워킹
- 소개
- 멀티스레드 생성하기
- 스레드 시작하기
- 스레드 멈추기
- 큐 사용법
- 다른 모듈 간에 큐 전달하기
- 대화상자 위젯을 사용해 네트워크에서 파일 복사하기
- 네트워크 통신을 위해 TCP/IP를 사용하기
- urlopen으로 웹 사이트 데이터 읽어오기
- 7장. GUI를 통해 MySQL에 데이터 저장하기
- 소개
- MySQL 서버 설치하고 접속하기
- MySQL 데이터베이스 연결 설정하기
- 파이썬 GUI 데이터베이스 설계하기
- SQL INSERT 명령 사용하기
- SQL UPDATE 명령 사용하기
- SQL DELETE 명령 사용하기
- MySQL 데이터베이스에서 데이터 저장, 조회하기
- MySQL 워크벤치 사용하기
- 8장. 국제화와 테스트
- 소개
- 다른 언어로 위젯 텍스트 표시하기
- GUI 언어 한 번에 바꾸기
- GUI 지역화
- 국제화 GUI 준비하기
- GUI를 설계하는 애자일 방법
- GUI 테스트 코드가 필요할까?
- 디버그 워치 설정하기
- 다양한 디버그 출력 레벨 설정하기
- main 을 사용한 셀프 테스트 코드 만들기
- 유닛 테스트로 강력한 GUI 만들기
- 이클립스 PyDev IDE 로 유닛 테스트 작성하기
- 9장. wxPython 라이브러리로 GUI 확장하기
- 소개
- wxPython 라이브러리 설치하기
- wxPython으로 GUI 생성하기
- wxPython으로 빠르게 컨트롤 추가하기
- 메인 tikinter 앱에 wxPython 앱 임베딩하기
- wxPython에 tkinter GUI 코드 임베딩하기
- 2개의 다른 GUI 프레임워크 제어하기
- 연결된 두 GUI 사이의 통신
- 10장. PyOpenG과 PyGLet으로 놀라운 3D GUI 만들기
- 소개
- PyOpenGL로 GUI 변형하기
- 3D GUI!
- 비트맵을 이용해 멋진 GUI 만들기
- PyOpenGL보다 쉬운 PyGLet으로 GUI 변형하기
- 놀라운 색상의 GUI
- OpenGL 애니메이션
- tkinter 로 슬라이드 쇼 만들기
- 11장. 베스트 프랙티스
- 소개
- 스파게티 코드 피하기
- 준비하기
- 커넥트 모듈 init 사용하기
- 절차지향과 객체지향 방식의 혼합
- 코드 명명 규칙 사용하기
- OOP를 사용하지 않을 때
- 디자인 패턴을 성공적으로 사용하는 방법
- 복잡성 피하기