728x90
반응형
이번 포스팅에서는 tkinter라는 라이브러리를 활용하여 윈도우창을 띄워 볼것입니다.
윈도우 창이라고 해서 현 티스토리 처럼 홈페이지가 아닌 그냥 단순히 계산기와 같은 팝업창을 띄우는 것을 말합니다.
이것을 GUI 라고 합니다.
UI프로그래밍
- 그래픽 사용자 인터페이스를 줄여서 GUI라고 합니다. GUI는 '화면'에 표시된 메뉴나 버튼으로 사용자와 상호 작용을 하는 간단한 프로그램입니다.
- TKINTER 라이브러리를 사용합니다.
- pip install tkinter, import tkinter as tk
- 루트 윈도우(Root Window): 모든 GUI 프로그램은 기본적으로 하나 이상의 윈도우가 필요합니다.
- 위젯(Widgets)
- 레이블(label)
- 버튼(Button)
- 엔트리(Entry)
- 텍스트(Text)
- 체크버튼(Checkbutton)
- 라디오버튼(Radiobutton)
- 리스트박스 (Listbox)
- 등 다양한 GUI 요소를 지원
- 레이아웃 - pack() & grid()
자 이제 간단하 명령어와 레이아웃을 배웠으니 실습으로 익혀 봅시다.
실습.윈도우창 띄우기 무작정 따라하기
- 주어진 코드를 그대로 실행하거나 원하는 대로 변경해보시오.
위젯 표현 방법
- Label(root, text="" , font=("폰트명", 글자크기), fg="폰트색 #?????", bg="")
- Button(root, text="" , command=함수명, fg="폰트색 #?????", bg="", font=("폰트명", 글자크기) , width=,height=,state=(tk.NOMAL OR tk.DISABLED))
- Entry(root, width= ,fg,bg,show="*")
- 주요옵션
- width:표시될 문자 수
- fg, bg: 전경/ 배경색
- show : 비밀번호 입력창처럼 문자를 특정 문자로 대체해 표시 (show="*" 등)
- 메서드
- entry.get() : 엔트리 내의 텍스트 가져오기
- entry.delete(0, tk.END) : 내용 삭제
- entry.insert(positon, text) : 특정 위치에 텍스트 삽입
- 주요옵션
- Text(root, width, height)
- 멀티라인 텍스트
- 메서드
- text.get("1.0", tk.END) : 전체 텍스트 가져오기 ("1.0" 은 첫째 줄의 첫 번째 문자)
- text.insert(tk.END, "추가할 텍스트") : 텍스트 추가
- text.delete("1.0", tk.END) : 전체 텍스트 삭제
- Frame(root, bg="color") # 위젯들을 묶는 컨테이너
- Checkbutton(root, text="", variable = var)
- variable : 체크 상태를 저장할 tk.IntVar() 또는 tk.BooleanVar() 등 사용 1=True, 0 = False
- Radiobutton(root, text="라디오 옵션", variable = var, value=값
- Listbox(root, selecmode="single" or "multiple")
- listbox.insert(index, "item") : 항목 추가
- listbox.get(start, end) : 항목 가져오기
- listbox.curselection() : 선택된 항목 인덱스 반환
- messagebox 모듈 : 정보창, 경고창 등을 띄울 수 있음
- menubar = tk.Menu(root)
- root.config(menu = menubar)로 루트 윈도우에 메뉴 지정
- 하위에 filemenu = tk.Menu(menubar, tearoff=0) 식으로 서브메뉴 추가 후 menubar.add_cascade(label="File", menu=filemenu)
- widget.config(option = value)
- option : 변경할 위젯의 속성 이름( 예: text, bg, fg, font, 등)
- value : 속성에 설정할 값
윈도우 창은 따로 실습을 진행하지는 않겠습니다.
개인적으로 하나씩 추가 해보면서 크롤링이랑 변형 해보시는게 좋을 것 같습니다 ^^ ^^
오늘도 같이 공부하시느라 수고 많으셨습니다!!!!!!
다음에는 C++로 만나겠습니다. python의 입문과정을 끝까지 따라오신
여러분 정말 감사합니다.

반응형
'python 시작하기' 카테고리의 다른 글
python Folium (0) | 2025.01.10 |
---|---|
python YOLO (1) | 2025.01.10 |
python OpenCV를 활용하여 얼굴 탐지를 해보자 (0) | 2025.01.10 |
python OpenCV 컨투어 탐지 (0) | 2025.01.09 |
python OPEN CV를 더욱 깔끔하게 전 처리 해보자! (1) | 2025.01.08 |