tkinter : kinter, t-kinter, tk-inter 등으로 불리며, python을 설치할때 함께 설치됨
1. 기본 윈도우 창 코딩 및 실행
새파일을 만들어서 아래 코딩을 복사 붙여넣기 한후,
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
#root.geometry("640x480+100+300")
root.resizable(False, False)
root.mainloop()
확장자 py로 하여 저장한후, 실행하면
윈도우 GUI 기본 창이 실행됨.
2. 버튼 추가 코딩 및 실행
새파일을 만들어서 아래 코딩을 복사 붙여넣기 한후,
from tkinter import *
root = Tk()
root.title("Haetae GUI")
btn1 = Button(root, text="버튼1")
btn1.pack()
btn2 = Button(root, padx = 5, pady = 10, text="버튼2")
btn2.pack()
btn3 = Button(root, padx = 10, pady = 5, text="버튼3")
btn3.pack()
btn4 = Button(root, width = 10, height = 3, text="버튼4")
btn4.pack()
btn5 = Button(root, fg = "red", bg = "yellow", text="버튼5")
btn5.pack()
photo = PhotoImage(file="img.png") # 미리 작은 이미지 만들어서 img.png로 저장
btn6 = Button(root, image=photo)
btn6.pack()
def btncmd():
print("버튼이 클릭됨")
btn7 = Button(root, text="동작 버튼", command=btncmd)
btn7.pack()
root.mainloop()
확장자 py로 하여 저장한후, 실행하면
위의 7가지 버튼이 생성된것 확인할수 있습니다.
3. 레이블
새파일을 만들어서 아래 코딩을 복사 붙여넣기 한후,
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
label1 = Label(root, text = "안녕")
label1.pack()
photo = PhotoImage(file="gui_basic/img.png")
label2 = Label(root, image=photo)
label2.pack()
def change():
label1.config(text="또 만나요")
global photo2
photo2 = PhotoImage(file="gui_basic/img2.png")
label2.config(image=photo2)
btn = Button(root, text="클릭", command=change)
btn.pack()
root.mainloop()
확장자 py로 하여 저장한후, 실행하면
레이블이 생성된것을 확인할수 있습니다.
4. 텍스트 와 엔트리
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
txt = Text(root, width=30, height=5)
txt.pack()
txt.insert(END,"글자를 입력")
e = Entry(root,width=30)
e.pack()
e.insert(0,"한줄만 입력")
def btncmd():
print(txt.get("1.0", END))
print(e.get())
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root.mainloop()
실행하면
여러줄 입력이 가능한 Text와
한줄 입력이 가능한 Entry를 확인할 수 있습니다.
5. 리스트 박스
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
listbox = Listbox(root, selectmode="extended", height=0)
listbox.insert(0, "바나나")
listbox.insert(1, "딸기")
listbox.insert(2, "수박")
listbox.insert(END, "멜론")
listbox.insert(END, "포도")
listbox.pack()
def btncmd():
# listbox.delete(END)
# listbox.delete(0)
# print("리스트에는", listbox.size(), "개가 있음")
# print("1번에서 3번까지 리스트 : ", listbox.get(0,2))
print("선택한 리스트 : ", listbox.curselection())
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root.mainloop()
6. 체크박스
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
chkvar = IntVar()
chkbox = Checkbutton(root, text="오늘 할일", variable=chkvar)
#chkbox.select()
#chkbox.deselect()
chkbox.pack()
def btncmd():
print(chkvar.get())
btn = Button(root, text="클릭", command=btncmd)
btn.pack()
root.mainloop()
7. 라디오버튼
from tkinter import *
root = Tk()
root.title("Haetae GUI")
root.geometry("640x480")
Label(root, text="메뉴판").pack()
Label(root, text="메인").pack()
food_var = IntVar()
btn_burger1 = Radiobutton(root, text="떡볶이", value=1, variable=food_var)
btn_burger1.select()
btn_burger2 = Radiobutton(root, text="오뎅", value=2, variable=food_var)
btn_burger3 = Radiobutton(root, text="순대", value=3, variable=food_var)
btn_burger1.pack()
btn_burger2.pack()
btn_burger3.pack()
Label(root, text="음료수").pack()
drink_var = StringVar()
btn_drink1 = Radiobutton(root, text="우유", value="우유", variable=drink_var)
btn_drink1.select()
btn_drink2 = Radiobutton(root, text="콜라", value="콜라",variable=drink_var)
btn_drink1.pack()
btn_drink2.pack()
def btncmd():
print(food_var.get())
print(drink_var.get())
btn = Button(root, text="주문", command=btncmd)
btn.pack()
root.mainloop()
파이썬 pygame 패키지 게임 만들기 (0) | 2021.09.15 |
---|---|
Python GUI 프로그래밍 tkinter 콤보박스 프로그래스바 메뉴바 메세지박스 프레임 그리드 (0) | 2021.09.14 |
Python 내장함수 및 외장함수 차이 사용방법 (0) | 2021.09.14 |
Python에서 PIP로 패키지 설치하고 사용 및 삭제 해보기 (0) | 2021.09.14 |
ROS2 인터페이스 python cmake 방식 동시 사용하기 (0) | 2021.09.04 |
댓글 영역