파이썬 GUI 프로그래밍 쿡북 3/e [Tkinter, PyQt5를 활용한 반응형 사용자 인터페이스 개발]
- 원서명Python GUI Programming Cookbook: Develop functional and responsive user interfaces with tkinter and PyQt5, 3rd Edition (ISBN 9781838827540)
- 지은이부르크하르트 메이어(Burkhard Meier)
- 옮긴이김동호
- ISBN : 9791161755717
- 35,000원
- 2021년 09월 30일 펴냄
- 페이퍼백 | 500쪽 | 188*235mm
- 시리즈 : acorn+PACKT, 프로그래밍 언어
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/python-gui-3e)
요약
파이썬 3를 사용해 GUI 프로그래밍 방법을 단계별로 설명한다. 2판의 레시피를 개선해 해당 라이브러리가 왜 필요하고, 어떻게 사용하는지 다양한 분야의 새로운 개념을 쉽게 이해할 수 있도록 설명한다. GUI 관련 기술뿐만 아니라 네트워크, 데이터베이스, 객체지향적 사고에 이르기까지 단계별로 배울 수 있도록 예제를 준비해 언어 자체를 배우는 입문용으로도 적당하다.
3판에서는 좀 더 강력하고 전문적인 PyQT에 대한 설명이 새롭게 추가됐다. 강력하고 바로 사용할 수 있는 수많은 위젯과 미려한 GUI로 좀 더 전문적인 애플리케이션을 개발하려는 독자에게 유용하다.
이 책에서 다루는 내용
◆ 파이썬 내장 tkinter 모듈로 GUI 생성
◆ 레이아웃 관리자로 GUI 위젯을 정렬해 GUI 커스터마이징
◆ 파이썬을 사용한 일반적인 폭포수 스타일에서 OOP 스타일로의 발전
◆ 무료 Matplotlib 파이썬 모듈을 사용한 차트 개발
◆ 네트워크 환경에서 스레딩을 사용한 반응형 GUI 만들기
◆ GUI에서 MySQL 데이터베이스에 연결하는 방법
◆ 단위 테스트 생성과 GUI 국제화 방법의 이해
◆ PyQt5를 사용해 GUI 개발 세계 탐험
이 책의 대상 독자
GUI를 개발하려는 프로그래머를 대상으로 한다. 파이썬 프로그래밍 언어를 사용해 아름답고 기능적이며 강력한 GUI를 개발할 수 있는 것에 놀랄 수 있다. 파이썬은 훌륭하고 직관적인 프로그래밍 언어로 매우 배우기 쉽다.
이 책의 구성
1장, GUI 폼 만들기 및 위젯 추가하기: 파이썬에서 첫 번째 GUI를 개발하는 방법을 설명한다. 실행 중인 GUI 애플리케이션을 빌드하는 데 필요한 최소 코드부터 시작한다. 그런 다음 각 레시피는 GUI에 여러 위젯을 추가한다.
2장, 레이아웃 관리: 파이썬 GUI를 만들기 위해 위젯을 정렬하는 방법을 설명한다. 그리드 레이아웃 관리자는 사용할 tkinter에 내장된 중요한 레이아웃 도구 중 하나다.
3장, 사용자 정의 룩 앤드 필: 좋은 룩 앤드 필의 GUI를 만드는 몇 가지 예를 보여준다. 실용적인 수준에서 레시피에서 만든 Help About 메뉴 항목에 기능을 추가한다.
4장, 데이터 및 클래스: GUI에 표시되는 데이터를 저장하는 방법을 설명한다. 파이썬의 내장 기능을 확장하기 위해 객체지향 프로그래밍OOP을 사용할 것이다.
5장, Matplotlib 차트: 시각적으로 데이터를 표현하는 아름다운 차트를 만드는 방법을 설명한다.
6장, 스레드와 네트워킹: 스레드, 대기열과 네트워크 연결을 사용해 파이썬 GUI의 기능을 확장하는 방법을 설명한다.
7장, GUI를 통해 MySQL 데이터베이스에 데이터 저장하기: MySQL 데이터베이스 서버에 연결하는 방법을 보여준다.
8장, 국제화 및 테스트: 레이블, 버튼, 탭 및 기타 위젯을 다른 언어로 표시해 GUI를 국제화하는 방법을 설명한다.
9장, wxPython 라이브러리로 GUI 확장하기: 현재 파이썬과 함께 제공되지 않는 다른 파이썬 GUI 툴킷을 소개한다. wxPython이라고 하며 파이썬 3에서 잘 동작하도록 디자인된 피닉스 버전의 wxPython을 사용한다.
10장, PyQt5로 GUI 만들기: 멋진 PyQt5 GUI 프로그래밍 프레임워크를 사용하는 방법을 보여준다. 테슬라는 이를 사용해 GUI 소프트웨어를 구축하며, 이 장에서는 C ++를 기반으로 구축된 Qt5 와 파이썬 바인딩을 사용해 드래그 앤 드롭 IDE GUI 개발의 멋진 세계를 살펴본다.
11장, 베스트 프랙티스: GUI를 효율적으로 작성하고 유지보수 가능하고 확장 가능한 GUI를 유지하는 데 도움이 되는 다양한 베스트 프랙티스를 살펴본다.
목차
목차
- 1장. GUI 폼 만들기와 위젯 추가하기
- 첫 파이썬 GUI 만들기
- 크기 변경에서 GUI 보호하기
- GUI 폼에 레이블 추가하기
- 버튼 생성하고 텍스트 속성 바꾸기
- 텍스트 상자 위젯 생성하기
- 위젯에 포커스 설정하고 비활성화하기
- 콤보박스 위젯 생성하기
- 초기 상태가 다른 체크 버튼 생성하기
- 라디오 버튼 위젯 사용하기
- 스크롤되는 텍스트 위젯 사용하기
- 순환문에서 위젯 추가하기
- 2장. 레이아웃 관리
- 레이블 프레임 위젯 안에 여러 개의 레이블 배열하기
- 위젯 주변에 공간 추가를 위해 패딩 사용하기
- 위젯으로 GUI 동적 확장하기
- 프레임 내에 프레임을 임베드해 GUI 위젯 정렬
- 메뉴바 생성하기
- 탭 위젯 만들기
- 그리드 레이아웃 매니저 사용하기
- 3장. 사용자 정의 룩 앤드 필
- 정보, 경고, 에러 메시지 박스 생성하기
- 독립적인 메시지 상자 생성 방법
- 윈도우 형식의 타이틀 생성 방법
- 메인 기본 윈도우 아이콘 변경하기
- 스핀박스 컨트롤 사용하기
- 릴리프, 썽큰, 레이즈 형태의 위젯 적용하기
- 파이썬으로 툴팁 생성하기
- GUI에 프로그레스바 추가하기
- 캔버스 위젯 사용법
- 4장. 데이터와 클래스
- StringVar() 사용 방법
- 위젯에서 데이터 가져오는 방법
- 다중 레벨 전역변수 사용하기
- 클래스를 사용해 GUI를 개선하는 방법
- 콜백함수 작성
- 재사용 가능한 GUI 컴포넌트 만들기
- 5장. 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 코드 임베딩하기
- 파이썬에서 두 개의 다른 GUI 프레임워크 제어하기
- 연결된 두 GUI 사이의 통신
- 10장. PyQt5로 GUI 만들기
- PyQt5 설치하기
- PyQt5 디자이너 도구 설치하기
- 첫 PyQt5 GUI 작성하기
- GUI 타이틀 변경하기
- 객체지향 코드로 리팩터링하기
- QMainWindow 상속하기
- 상태바 위젯 추가하기
- 메뉴바 위젯 추가하기
- PyQt5 디자이너 도구 시작하기
- PyQt5 Designer에서 폼 미리보기
- PyQt5 디자이너 폼 저장하기
- 디자이너 .ui 코드를 .py 코드로 변환하기
- 변환된 디자이너 코드 이해하기
- 모듈식 GUI 디자인 만들기
- 메뉴바에 다른 메뉴 추가하기
- 메뉴 항목에 기능 연결하기
- 디자이너를 통해 탭 위젯 추가하기
- 디자이너 레이아웃 사용하기
- 디자이너에서 버튼과 레이블 추가하기
- 11장. 베스트 프랙티스
- 스파게티 코드 피하기
- 커넥트 모듈 init 사용하기
- 절차지향과 객체지향 방식의 혼합
- 코드 명명 규칙 사용하기
- OOP를 사용하지 않을 때
- 성공적으로 디자인 패턴 사용하는 방법
- 복잡성 피하기
도서 오류 신고
정오표
정오표
[p.14: 아래에서 1행]
파이썬 프로그래밍 언어를 사용해 아름답고 기능적이며 강력한 GUI를 개발할 이룰 수 있는 것에 놀랄 수 있다.
->
파이썬 프로그래밍 언어를 사용해 아름답고 기능적이며 강력한 GUI를 개발할 수 있는 것에 놀랄 수 있다.
[p.56 : 아래서 3행]
value
->
alue = col
[p.56 : 아래서 2행]
brid
->
grid