ROKEY

[20250120] 파이썬 프로그래밍 - tkinter

kode-daks 2025. 1. 20. 16:37

수업 목표

- tkinter import를 할 수 있다.

- 윈도우 위젯 및 추가 위제를 생성할 수 있다.

- Geometry manager(위젯 배치 관리자)를 사용할 수 있다.

- 이벤트 및 바인딩을 통해 위젯을 동작할 수 있다.

 

 

1. tkinter

- GUI 구현에 사용되는 파이썬 표준 라이브러리

- 윈도우 위젯 생성

    - Tk 클래스 사용하여 가장 상위층 위젯을 생성

    - 그 위에 다른 위젯 추가

 

위젯 클래스 객체

- 최상위 객체인 윈도우 객체 위에 새 위젯 배치

- 위젯 클래스 객체 = 위젯(부모 인스턴스, 옵션=옵션, ...)

 

위젯 클래스 배치

- Geometry manager의 pack 등 활용

    - 위젯.pack(option)

    - 위젯.grid(option)

    - 위젯.place(option)

 

이벤트와 바인딩

- 이벤트를 발생시키고 이벤트 내용은 함수 정의 및 호출

    - tkinter.Button(command=함수)

    - Button == 위젯

 

2. 위젯 생성

- 객체.geometry("가로x세로+x축y축")

- 함수 호출 : 인자로 사용 : command = 함수명

 

버튼 위젯 생성

- button1 = Button(윈도우, text="버튼텍스트")

- 여러개는 button1.pack()으로 쌓을 수 있음

 

레이블 위젯 생성

- 레이블(Label) 클래스 : 텍스트를 화면에 출력하기 위해 사용

 

라디오 버튼

- Radiobutton(master=윈도우객체, text=쓰일문자, variable=저장할변수, value=variable변수에저장할값, command=실행함수)

*variable은 모든 라디오 버튼은 같은 변수를 사용해야 함

* IntVar(), DoubleVar(), StringVar(), BooleanVar() 중 하나의 인스턴스여야 함

 

체크 버튼

- Checkbutton(master, text, variable, onvalue=변수체크됐을때값, offvalue=변수해제됐을때값)

 

3. Geometry manager

- 윈도우 위젯에 하위 위젯을 위치시키는 메소드

- pack() : side=['left','right','top','bottom'] : 행열 기준 배치

- grid() : row, column : 좌우상하 배치

- place() : x, y : 좌표 기준 배치

 

4. 이벤트

- 프로그램에 의해 감지되고 처리할 수 있는 동작이나 사건

 

5. 바인딩

- 이벤트 발생 시, 동작 사항을 연결하는 것

- 버튼 클릭 시, 옵션 설정을 통해 이벤트가 발생하는 함수