10장. GUI 코딩 기법
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
"더 나은 쥐덫 만들기"
이 장에서는 고급 GUI 프로그래밍 패턴과 기법 모음을 소개함으로써 Python과 tkinter 라이브러리로 GUI를 구축하는 방법을 계속 살펴봅니다. 앞의 세 장에서는 tkinter 자체의 모든 기본 사항을 살펴봤습니다. 여기서는 이를 활용해 더 큰 규모의 프로그램에서 유용하게 사용할 수 있는 더 높은 수준의 구조를 추가하는 것이 목표입니다. 즉, 여기서는 기본 tkinter 툴킷 이상의 유틸리티를 구현하는 자체 코드를 작성하는 데 초점을 맞추고 있으며, 이 책의 뒷부분에서 더 완전한 예제에서 실제로 유용하게 사용할 수 있는 유틸리티를 구현하는 데 초점을 맞추고 있습니다.
이 장에서 공부할 몇 가지 기술은 다음과 같습니다:
"mixin" 클래스에서 일반적인 GUI 작업 제공
데이터 구조 템플릿에서 메뉴 및 도구 모음 만들기
명령줄 도구에 GUI 인터페이스 추가하기
입력 및 출력 스트림을 GUI 위젯으로 리디렉션하기
GUI 콜백 핸들러 즉시 로드하기
최상위 수준 창 인터페이스 마무리 및 자동화하기
스레드와 대기열을 사용하여 GUI에서 차단 방지
비-GUI 프로그램에서 필요에 따라 GUI 창 팝업하기
소켓과 파이프가 있는 별도의 프로그램으로 GUI 추가하기
이 책의 다른 장과 마찬가지로 이 장에서는 GUI 프로그래밍을 공부할 뿐만 아니라 객체 지향 프로그래밍(OOP) 및 코드 재사용과 같은 일반적인 Python 개발 개념에 대해서도 더 많이 배우게 될 것입니다. 앞으로 살펴보겠지만, Python으로 GUI 도구를 코딩하면 다양한 컨텍스트와 프로그램에 쉽게 적용할 수 있습니다.
다음 장으로 넘어가기 전, 이 장에서는 대규모 GUI 예제를 시작하는 데 사용되는 PyDemos와 PyGadgets 런처 툴바를 살펴보는 것으로 마무리합니다. 대부분의 코드는 이 책의 외부에 있지만 예제 배포 패키지에서 공부하는 데 도움이 될 만큼 충분한 구조를 살펴볼 것입니다.
시작하기 전에 두 가지 주의 사항: 첫째, 이 장의 코드 목록에서 설명하지 않는 자세한 내용은 반드시 읽어 보세요. 둘째, 이 장의 기법을 적용한 작은 예제가 중간에 나오지만 보다 현실적인 적용은 보다 현실적인 프로그램을 기다려야 합니다. 다음 장과 이 책의 나머지 부분에서 더 큰 규모의 예제에서 이러한 기법을 활용하게 될 것입니다. 사실 여기서 개발한 모듈은 이 책의 다른 프로그램에서 도구로 자주 재사용하게 될 것입니다. 재사용 가능한 소프트웨어는 재사용을 원합니다. 하지만 먼저 우리 종족이 가장 잘하는 일을 하고 몇 가지 도구를 만들어 봅시다.
GuiMixin: 일반적인 도구 믹스인 클래스
지난 세 챕터( )를 읽으셨다면, 위젯을 하나하나 손으로 만들면 별것 아닌 GUI를 구성하는 데 사용되는 코드가 길어진다는 것을 눈치채셨을 것입니다. 모든 위젯을 수동으로 연결해야 할 뿐만 아니라 수십 가지 옵션을 기억하고 설정해야 합니다. 이 전략을 ...