손을 흔들며 반갑게 웃는 파이인공지능 파이썬 실무

VISUAL SUMMARY / UNIT 02

Ⅱ. GUI 프로그래밍 · 그림으로 정리

흐름도와 표를 보고 각 단계를 내 말로 설명하세요.

단원 실습으로 돌아가기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 01. GUI 프로그래밍 개요 · 42–48쪽
소단원 01. 사용자 인터페이스 · 43–44쪽

이 웹 주제의 연계 범위: 40–44쪽

사용자 인터페이스 · CLI, GUI, NUI

AT A GLANCE

사용자가 명령을 전달하는 방법

  1. 1사용자 의도
  2. 2인터페이스에서 입력
  3. 3프로그램 처리
  4. 4결과와 상태 표시
종류입력 예특징
CLI명령어 타이핑정확한 명령 필요
GUI버튼 클릭시각적으로 선택
NUI음성·몸짓자연스러운 상호작용
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 01. GUI 프로그래밍 개요 · 42–48쪽
소단원 02. 파이썬 GUI · 45–46쪽

이 웹 주제의 연계 범위: 45–48쪽 + 보강

GUI 라이브러리 비교 갤러리

AT A GLANCE

같은 앱, 다른 GUI 도구

  1. 1공통 기능이름 받아 인사
  2. 2화면 도구 선택
  3. 3위젯과 이벤트 연결
  4. 4실제 PC에서 비교
도구화면 구성학습 경로
tkinter / ttkTk 위젯 / 테마 위젯교과서 기본
PySide6 / PyQt6Qt 위젯과 레이아웃동일 개념 확장
wxPythonOS 위젯 활용데스크톱 비교
Kivy자체 그리기터치 UI 비교
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 02. GUI 프로그래밍 작성 · 49–57쪽
소단원 01. tkinter의 구성 요소 · 50–51쪽

이 웹 주제의 연계 범위: 50쪽

창과 위젯 · 화면을 구성하는 부품

AT A GLANCE

위젯의 역할을 맞춰 보세요

  1. 1Entry / QLineEdit입력
  2. 2Button / QPushButton실행 요청
  3. 3Label / QLabel짧은 출력
  4. 4Text / QPlainTextEdit여러 줄
역할tkinterPySide6
최상위 창TkQWidget / QMainWindow
그룹FrameQWidget + Layout
입력 읽기entry.get()edit.text()
표시 바꾸기label.config(text=...)label.setText(...)
독립 선택Checkbutton + BooleanVarQCheckBox.isChecked()
그룹 중 하나Radiobutton + StringVarQRadioButton / QButtonGroup
목록·그리기Listbox / CanvasQListWidget / QGraphicsView
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 02. GUI 프로그래밍 작성 · 49–57쪽
소단원 01. tkinter의 구성 요소 · 50–51쪽

이 웹 주제의 연계 범위: 51쪽 + 보강

배치 관리자와 반응하는 화면

AT A GLANCE

좌표보다 배치 규칙을 먼저 정해요

  1. 1세로 묶음pack / QVBoxLayout
  2. 2가로 묶음pack(side) / QHBoxLayout
  3. 3행과 열grid / QGridLayout
선택적합한 화면확인할 것
세로·가로 배치버튼 모음순서와 늘어남
격자 배치입력 폼행·열 번호
고정 좌표 place정해진 위치창 크기 변화에 취약
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 02. GUI 프로그래밍 작성 · 49–57쪽
소단원 01. tkinter의 구성 요소 · 50–51쪽

중단원 02. GUI 프로그래밍 작성 · 49–57쪽
소단원 02. GUI 앱 개발 · 52–55쪽

이 웹 주제의 연계 범위: 51, 54쪽 + 보강

이벤트 · 사용자의 행동에 반응하기

AT A GLANCE

클릭은 함수를 예약한 뒤에 발생해요

  1. 11 연결command=hello
  2. 22 대기mainloop()
  3. 33 입력버튼 클릭
  4. 44 처리hello() 실행
코드실행 시점결과
command=hello클릭할 때함수를 전달
command=hello()화면 만들 때반환값을 전달
bind("<Return>")Enter 키를 눌렀을 때키 이벤트와 함수 연결
after(ms, fn)지정한 시간 뒤이벤트 루프를 막지 않음
clicked.connect(hello)Qt 클릭할 때시그널과 슬롯 연결
textChanged입력이 바뀔 때미리보기·검사
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

중단원 02. GUI 프로그래밍 작성 · 49–57쪽
소단원 02. GUI 앱 개발 · 52–55쪽

이 웹 주제의 연계 범위: 52–55쪽

교과서 메모장 · 여덟 단계로 완성

AT A GLANCE

열기·저장·취소의 분기

  1. 1파일 대화상자
  2. 2취소?화면 그대로
  3. 3경로 선택?UTF-8 읽기/쓰기
  4. 4내용과 상태 갱신
작업입력출력
열기파일 경로Text 영역 내용
저장Text 영역 내용UTF-8 파일
취소빈 경로아무 파일도 변경 안 함
읽기 실패OSError오류 안내
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

추가 실습 · 교과서 밖 확장

이 웹 주제의 연계 범위: 확장 학습

PySide6 시작과 Qt Designer

AT A GLANCE

tkinter 개념을 Qt에 대응해요

  1. 1QApplication 생성
  2. 2위젯과 Layout 구성
  3. 3시그널 연결
  4. 4show → app.exec
tkinterPySide6공통 개념
Tk()QApplication + QWidget앱과 창
command=handlerclicked.connect(handler)이벤트 연결
pack / gridQVBoxLayout / QGridLayout배치 규칙
mainloop()app.exec()이벤트 루프
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

추가 실습 · 교과서 밖 확장

이 웹 주제의 연계 범위: 수행평가 연결쪽 + 확장

통합 프로젝트 · 두 GUI, 하나의 기능 모듈

AT A GLANCE

기능에서 완성 앱까지

  1. 1요구 기능 정하기
  2. 2기능 모듈 구현
  3. 3입력과 오류 시험
  4. 4화면 연결·기록
산출물확인할 내용
기능 코드GUI 없이도 시험 가능
실행 결과정상·빈 값·경계값 비교
학습 기록오류 원인과 수정 근거
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

마무리·종합 평가 연계

이 웹 주제의 연계 범위: 56–59쪽

2단원 마무리 · 개념에서 앱까지

AT A GLANCE

한 단원, 세 가지 확인

  1. 1설명하기개념을 내 말로
  2. 2예상하기실행 전 결과 추적
  3. 3바꾸기조건 변경 후 검증
점검질문
개념왜 이 도구를 선택했나요?
코드입력과 출력은 무엇인가요?
검증조건을 바꾸어도 동작하나요?
실습하기 →

대단원 Ⅱ. GUI 프로그래밍 교과서 40–59쪽

추가 실습 · 교과서 밖 확장

이 웹 주제의 연계 범위: 부록 · 확장 학습

부록 · wxPython으로 같은 앱 다시 만들기

AT A GLANCE

본편 개념을 wxPython으로 옮기세요

  1. 1wx.App 생성
  2. 2Frame·Panel·Sizer 구성
  3. 3Bind로 이벤트 연결
  4. 4Show → MainLoop
역할tkinterwxPython
앱·창Tk()wx.App() + wx.Frame
설명 글Labelwx.StaticText
한 줄 입력Entrywx.TextCtrl
여러 줄Textwx.TextCtrl(TE_MULTILINE)
버튼 클릭command=Bind(EVT_BUTTON)
배치pack / gridBoxSizer / FlexGridSizer
이벤트 루프mainloop()MainLoop()
실습하기 →