728x90
반응형
tkinter를 사용한 Window 화면 띄우기
💡
tkiner 사용하기 위한 선언
import tkinter
from tkinter import *
창 만들기
window = Tk()
window.title("MyWindow")
window.geometry("400x400-300+300")
window.config(bg='skyblue')
window.resizable(1, True)
window.mainloop()
버튼 만들기
# pack 상대 위치 , top, bottom, left, right, side 없으면 center
btnConfirm = Button(window, text="Confirm", relief="solid"
, overrelief='groove', anchor='n')
btnConfirm.pack(side='right', fill='y')
#text-inputFild
enter = Entry(window)
enter.pack()
btnConfirm = Button(window, text="Confirm", relief="solid"
, overrelief='groove', anchor='n')
btnConfirm.pack(side='left', fill='y')
#text-inputFild
enter = Entry(window)
enter.pack()
btnConfirm = Button(window, text="Confirm", relief="solid"
, overrelief='groove', anchor='n')
btnConfirm.pack()
pack() 안에 아무것도 없으면 가운데 정렬됨
btnConfirm = Button(window, text="Confirm", relief="solid"
, overrelief='groove', anchor='n')
btnConfirm.pack(padx=50,pady=50, side='left')
padx=50,pady=50 padding 값 적용하기
GridLayout
import tkinter.font
# 폰트 변경하기
font = tkinter.font.Font(font='맑은 고딕', size =15)
from tkinter import *
btn1 = tkinter.Button(window, text="1", width=6)
btn2 = tkinter.Button(window, text="2", width=6)
btn3 = tkinter.Button(window, text="3", width=6)
btn4 = tkinter.Button(window, text="4", width=6)
btn5 = tkinter.Button(window, text="5", width=6)
btn6 = tkinter.Button(window, text="6", width=6)
btn7 = tkinter.Button(window, text="7", width=6)
btn8 = tkinter.Button(window, text="8", width=6)
btn9 = tkinter.Button(window, text="9", width=6)
btn1.grid(row=3, column=1, padx=10, pady=10)
btn2.grid(row=3, column=2, padx=10, pady=10)
btn3.grid(row=3, column=3, padx=10, pady=10)
btn4.grid(row=2, column=1, padx=10, pady=10)
btn5.grid(row=2, column=2, padx=10, pady=10)
btn6.grid(row=2, column=3, padx=10, pady=10)
btn7.grid(row=1, column=1, padx=10, pady=10)
btn8.grid(row=1, column=2, padx=10, pady=10)
btn9.grid(row=1, column=3, padx=10, pady=10)
window.mainloop()
Absolute Layout
#place() 절대 위치에 컴포넌트를 배치 할 수 있는 레이아웃
import tkinter
import tkinter.ttk as ttk
import tkinter.font
from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("MyWindow Absolute")
window.geometry('250x120')
# window.config(bg="light gray")
window.resizable(1, True)
font = tkinter.font.Font(family="맑은 고딕", size=12)
#place() 절대 위치에 컴포넌트를 배치 할 수 있다.
lbId = tkinter.Label(window, text="ID", font=font)
lbPass = tkinter.Label(window, text="Pass", font=font)
entryId = tkinter.Entry(window, relief="solid", borderwidth=1, font=font)
entryPass = tkinter.Entry(window, relief="solid", borderwidth=1, font=font, show="*")
lbId.place(x=10, y=8)
entryId.place(x=50, y=10)
lbPass.place(x=10, y=38)
entryPass.place(x=50, y=40)
entryId.focus()
window.mainloop()
window
: 버튼이 속할 부모 위젯(일반적으로 창).text="Login"
: 버튼에 표시될 텍스트는 "Login"입니다.relief="solid"
: 버튼의 테두리 스타일을 설정합니다. 여기서는 "solid"(실선 테두리)로 지정되어 있습니다.width="10"
: 버튼의 너비를 10으로 설정합니다.overrelief='groove'
: 마우스가 버튼 위에 있을 때 테두리 스타일을 'groove'(홈이 파인 것처럼 보이는 스타일)로 변경합니다.anchor='n'
: 버튼의 텍스트 정렬을 지정합니다. 여기서 'n'(north)이므로 텍스트가 위쪽에 정렬됩니다.command=check_login
: 버튼을 클릭했을 때 실행될 함수로check_login
메서드가 호출됩니다.
from tkinter import messagebox
def check_login():
if str(entryId.get()) == "":
messagebox.showinfo("알림", "ID를 확인하여 주세요")
entryId.focus()
return
if str(entryPass.get()) == "":
messagebox.showinfo("알림", "Password를 확인하여 주세요")
entryPass.focus()
return
btnLogin = Button(window, text="Login", width="10",
overrelief="groove", anchor="n", command=check_login)
btnLogin.place(x=30, y=80)
btnJoin = Button(window, text="Join", width="10",
overrelief="groove", anchor="n")
btnJoin.place(x=130, y=80)
728x90
반응형
'PROGRAMING📚 > Python📑' 카테고리의 다른 글
python - windowLocationInfo (2) | 2024.11.29 |
---|---|
Excel 이용해서 파일 불러오기 (1) | 2024.11.28 |
Python -dict (0) | 2024.11.27 |
Python-Set (0) | 2024.11.26 |
[Python]Tuple (0) | 2024.11.25 |
댓글