본문 바로가기

python 시작하기

python 윈도우 창을 띄워보자

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()

코딩온 교육자료

 

자 이제 간단하 명령어와 레이아웃을 배웠으니 실습으로 익혀 봅시다.

실습.윈도우창 띄우기 무작정 따라하기

  • 주어진 코드를 그대로 실행하거나 원하는 대로 변경해보시오.

레이아웃 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="*")
    • 주요옵션
      1. width:표시될 문자 수
      2. fg, bg: 전경/ 배경색
      3. show : 비밀번호 입력창처럼 문자를 특정 문자로 대체해 표시 (show="*" 등)
    • 메서드
      1. entry.get() : 엔트리 내의 텍스트 가져오기
      2. entry.delete(0, tk.END) : 내용 삭제
      3. entry.insert(positon, text) : 특정 위치에 텍스트 삽입
  • Text(root, width, height)
    • 멀티라인 텍스트
    • 메서드
      1. text.get("1.0", tk.END) : 전체 텍스트 가져오기 ("1.0" 은 첫째 줄의 첫 번째 문자)
      2. text.insert(tk.END, "추가할 텍스트") : 텍스트 추가
      3. 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