본문 바로가기
공부기록/Python

6월 15일 python - GUI(tkinker)

by project100 2023. 6. 15.

GUI 프로그래밍 라이브러리 tkinter

표준 파이썬 인터페이스. 창 형식의 프로그램 작성용 라이브러리

설치) 터미널에서 실행

pip install tk

 

모듈사용)

import tkinter

 

객체생성)

식별자 = tkinter.Tk()

 

프로그램 실행)

식별자.mainloop()

 

기본 컴포넌트(위젯)

1) Label : 문자열 출력 컴포넌트

2) Button : 버튼

3) Entry : 입력 칸

4) Listbox : 목록

5) Checkbutton : 다중선택

6) Radiobutton : 단일선택

 

위젯 배치용 기본 함수 : pack()

 

fg = 글자색

bg = 바탕색

import tkinter

window = tkinter.Tk() #윈도우 객체 생성

# 창이름 설정
window.title('GUI 프로그램')

# 창 크기 및 위치 설정
#너비x높이+x좌표+y좌표
window.geometry('640x480+100+200') 

# 창 크기 고정
# False : 크기 고정(변경X), True : 크기 변경 가능
#좌/우(True/False), 상/하(True/False)
window.resizable(False, False) 
# 실행
window.mainloop()
from tkinter import *
from tkinter import messagebox

window = Tk() #윈도우 객체 생성

# 창이름 설정
window.title('GUI 프로그램')

# 창 크기 및 위치 설정
#너비x높이+x좌표+y좌표
window.geometry('600x600+100+200') 

# 창 크기 고정
# False : 크기 고정(변경X), True : 크기 변경 가능
#좌/우(True/False), 상/하(True/False)
window.resizable(False, False) 

text = ""
# 버튼 이벤트 처리 함수
def onClick():
    text= entry1.get()
    print(type(text))
    messagebox.showinfo("알람", text)

def sel_chk():
    if ck1val.get() == 1:
        messagebox.showinfo('선택1', '강아지를 선택하셨습니다!')
    elif ck2val.get() == 1:
        messagebox.showinfo('선택2', '고양이를 선택하셨습니다.')
    elif ck3val.get() == 1:
        messagebox.showinfo('선택3', '병아리를 선택하셨습니다.')        

def sel_rd():
    if rd_val.get() == 0:
        messagebox.showinfo('선택1', '자장면을 선택하였습니다.')
    elif rd_val.get() == 1:
        messagebox.showinfo('선택2', '짬뽕을 선택하셨습니다.')
    elif rd_val.get() == 2:
        messagebox.showinfo('선택3', '탕수육을 선택하셨습니다.')        

# 위젯 출력
lable1 = Label(window, text='메모장 만들기!', font=10, height=2, fg='DarkOrange1')
lable1.pack()

# 버튼
btn1 = Button(window, text='버튼', width=10, bg='skyblue1', command=onClick)
btn1.pack()

# 입력
entry1 = Entry(window)
entry1.pack()

# 목록
list1 = Listbox(window, selectmode='multiple')
list1.insert(0, '1번')
list1.insert(1, '2번')
list1.insert(2, '3번')
list1.delete(2)
list1.pack()

# 체크박스
lable2 = Label(window, text='동물 선택하기!', font=10, height=2, fg='DarkOrange1')
lable2.pack()
ck1val = IntVar()
ck1 = Checkbutton(window, text='강아지', variable=ck1val)
ck2val = IntVar()
ck2 = Checkbutton(window, text='고양이', variable=ck2val)
ck3val = IntVar()
ck3 = Checkbutton(window, text='병아리', variable=ck3val)
ck1.pack()
ck2.pack()
ck3.pack()
btn2 = Button(window, text='선택', command=sel_chk)
btn2.pack()

# 라디오 버튼
lable3 = Label(window, text='메뉴 선택하기!', font=10, height=2, fg='DarkOrange1')
lable3.pack()
rd_val = IntVar()
rd1 = Radiobutton(window, text='자장면', variable=rd_val, value=0, command=sel_rd)
rd2 = Radiobutton(window, text='짬뽕', variable=rd_val, value=1, command=sel_rd)
rd3 = Radiobutton(window, text='탕수육', variable=rd_val, value=2, command=sel_rd)
rd1.pack()
rd2.pack()
rd3.pack()

# 실행
window.mainloop()

+더 배우기

 

Python tkinter 강좌 : 제 1강 - GUI 생성

tkinter

076923.github.io

 

'공부기록 > Python' 카테고리의 다른 글

6월 15일 python - Web2  (0) 2023.06.15
6월 14일 (2) python - Web  (0) 2023.06.14
6월 14일 (1) python - 예외처리, 패키지  (0) 2023.06.14
6월 13일 python - 클래스  (0) 2023.06.13
6월 12일 (2) python - 모듈  (0) 2023.06.12