from tkinter import *
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
chkclick = IntVar()
chkclick2 = IntVar()
chkbox1 = Checkbutton(root, text ="오늘 하루 그만 보기" , variable=chkclick)
chkbox1.pack()
chkbox2 = Checkbutton(root, text ="1주일 동안 보지 않기" , variable=chkclick2)
chkbox2.pack()
def getCheck():
print('체크 상태 : ', chkclick.get())
Button(root, text ="확인", command=getCheck).pack()
chkbox1.select()
chkbox2.deselect()
root.mainloop()
from tkinter import *
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
Label(root, text="햄버거를 선택하세요").pack()
burger_var = StringVar() # 문자열 형태의 변수값을 넣겠다.
btn_burger1 = Radiobutton(root, text="불고기버거", value="불고기버거", variable=burger_var)
btn_burger2 = Radiobutton(root, text="치즈버거", value="치즈버거", variable=burger_var)
btn_burger3 = Radiobutton(root, text="치킨버거", value="치킨버거", variable=burger_var)
btn_burger1.pack()
btn_burger2.pack()
btn_burger3.pack()
btn_burger1.select() # 체크박스 하나만 눌려있게 하기
def order():
print(burger_var.get() + '를 선택하였습니다.')
Button(root, text="주문", command=order).pack()
root.mainloop()
from os import stat
import tkinter.ttk as ttk
from tkinter import *
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
dateVal = [str(i) + "일" for i in range(1,32)] # [1,2,3,4,5]
combobox = ttk.Combobox(root, height=10, values=dateVal, state="readonly")
combobox.current(0)
combobox.pack()
combobox.set("통장은 거들뿐")
def selectDate():
print(combobox.get())
Button(root, text="날짜 선택", command=selectDate).pack()
root.mainloop()
import time
import tkinter.ttk as ttk
from tkinter import *
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
p_var = DoubleVar()
progressbar1 = ttk.Progressbar(root, maximum=100, length=400, variable=p_var, mode="determinate")
progressbar1.pack()
progressbar2 = ttk.Progressbar(root, maximum=100, mode="indeterminate")
progressbar2.pack()
def btnStart():
for i in range(1,101):
time.sleep(0.01)
p_var.set(i)
progressbar1.update()
print(p_var.get())
# progressbar1.start(10)
# progressbar2.start(10)
Button(root, text="전송", command=btnStart).pack()
def btnStop():
progressbar1.stop()
# progressbar2.stop()
Button(root, text="정지", command=btnStop).pack()
root.mainloop()
import tkinter.ttk as ttk
from tkinter import *
import tkinter.messagebox as msgbox
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
def newFile():
print('파일을 새로 만듭니다.')
mymenu = Menu(root)
menu_file = Menu(mymenu, tearoff=0)
menu_file.add_command(label="New File" , command=newFile)
menu_file.add_command(label="New Window")
menu_file.add_separator()
menu_file.add_command(label="Open File")
menu_file.add_command(label="Save File")
menu_file.add_separator()
menu_file.add_command(label="Exit", command=root.quit)
mymenu.add_cascade(label="File", menu=menu_file)
mymenu.add_cascade(label="Edit")
def showminimap():
msgbox.showinfo("알림", "미니맵을 보여줍니다.")
def showmaxmap():
msgbox.showinfo("알림", "맥스맵을 보여줍니다.")
menu_view = Menu(mymenu, tearoff=0)
menu_view.add_checkbutton(label="Show minimap", command=showminimap)
menu_view.add_checkbutton(label="Show mmaxmap", command=showmaxmap)
mymenu.add_cascade(label="View", menu=menu_view)
root.config(menu=mymenu)
root.mainloop()
import tkinter.ttk as ttk
from tkinter import *
import tkinter.messagebox as msgbox
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
def info():
msgbox.showinfo("알림", "정상적으로 예매가 완료되었습니다.")
def warn():
msgbox.showwarning("경고", "해당 좌석은 매진되었습니다.")
def error():
msgbox.showerror("에러", "결제 오류가 발생하였습니다.")
def okcancel():
result = msgbox.askokcancel("확인/취소", "해당 좌석은 유아동반석입니다. 예매하시겠습니까?")
if(result == 1):
msgbox.showinfo("알림", "정상적으로 예매가 완료되었습니다.")
elif result == 0:
msgbox.showinfo("알림", "취소되었습니다.")
Button(root, command=info, text="알림").pack()
Button(root, command=warn, text="경고").pack()
Button(root, command=error, text="에러").pack()
Button(root, command=okcancel, text="확인/취소").pack()
root.mainloop()
격자인데 보통 바둑판에 비유되고, 바둑판 격자 하나하나에 삽입될 다양한 것들을 디자인할 때 유용하게 사용.
그리드 시작 전 pack과 grid를 적용한 버튼 실행결과
그리드는 위치를 지정해서 원하는 버튼을 넣을 수 있는 장점이 있다.
import tkinter.ttk as ttk
from tkinter import *
import tkinter.messagebox as msgbox
root = Tk()
root.title("Python GUI")
root.geometry("800x640+500+100")
Button(root, text="F16", width=10, height=3).grid(row=0, column=0)
Button(root, text="F17", width=10, height=3).grid(row=0, column=1)
Button(root, text="F18", width=10, height=3).grid(row=0, column=2)
Button(root, text="F19", width=10, height=3).grid(row=0, column=3)
Button(root, text="clear", width=10, height=3).grid(row=1, column=0)
Button(root, text="=", width=10, height=3).grid(row=1, column=1)
Button(root, text="/", width=10, height=3).grid(row=1, column=2)
Button(root, text="*", width=10, height=3).grid(row=1, column=3)
Button(root, text="7", width=10, height=3).grid(row=2, column=0)
Button(root, text="8", width=10, height=3).grid(row=2, column=1)
Button(root, text="9", width=10, height=3).grid(row=2, column=2)
Button(root, text="-", width=10, height=3).grid(row=2, column=3)
Button(root, text="4", width=10, height=3).grid(row=3, column=0)
Button(root, text="5", width=10, height=3).grid(row=3, column=1)
Button(root, text="6", width=10, height=3).grid(row=3, column=2)
Button(root, text="+", width=10, height=3).grid(row=3, column=3)
Button(root, text="1", width=10, height=3).grid(row=4, column=0)
Button(root, text="2", width=10, height=3).grid(row=4, column=1)
Button(root, text="3", width=10, height=3).grid(row=4, column=2)
Button(root, text="enter", width=10, height=3).grid(row=4, column=3)
numEdit = Entry(root, width=45)
numEdit.insert(END, "숫자를 입력하세요")
numEdit.grid(row=5, column=0, columnspan=4)
root.mainloop()