๐Ÿ“˜Python/๐Ÿ‘ฉ‍๐Ÿซclass

๐Ÿ‘ฉ‍๐Ÿซclass : 5week

4:Bee 2023. 9. 26. 17:12
728x90

๋ณต์Šต์„ ํ•˜์ž

#make to turtle shape
import turtle
t =turtle.Turtle()
t.shape("turtle")

t.up()          #ready to drawing
#new turtle position
t.goto(-200,-50)#get drawing
t.down()

t.circle(20)    #make a fist Circle
#make a line
t.forward(100)
t.right(-90)    #turn to turtle
t.forward(100)
t.right(90)     #turn to turtle
t.forward(100)
t.right(90)     #turn to turtle
t.forward(100)
t.right(-90)    #turn to turtle
t.forward(100)
#second Circle
t.circle(20)

๊ฒฐ๊ณผ ์ด๋ฏธ์ง€๋Š” ์œ„์™€ ๊ฐ™๋‹ค.


์ด๋ฒˆ์— ์šฐ๋ฆฌ๋Š” tkinter๋ผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์„œ GUI๋ฅผ ์ƒ์„ฑํ•ด ๋ณผ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค.

from tkinter import *
root = Tk()
root.title("230x120")
root.title("์œˆ๋„์šฐ ์ฐฝ ๋งŒ๋“ค๊ธฐ")
root.mainloop()

์œ„์™€ ๊ฐ™์ด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ๊ธฐ๋ณธ GUI ์ฐฝ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•ด๋‹น ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

์•„์ง ํŠน์ • event๋ฅผ ์„ค์ • ํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ๋ฐฑ์ด๋‹ค.

root.geometry()

root.geometry๋Š” ํ•ด๋‹น GUI ์œˆ๋„์šฐ ์ฐฝ์˜ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

root.title()

root.title์€ ํ•ด๋‹น GUI ์œˆ๋„์šฐ ์ฐฝ์˜ ์ด๋ฆ„์„ ์„ค์ •ํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค.

root.mainloop()

root.mainloop()๋Š” ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์•„์ง ๋ฒ„ํŠผ์„ ์ƒ์„ฑํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ํ•ด๋‹น ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜๋ฉด ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๊ณ  ๋ฉ”์ธ ๋ฃจํ”„๋Š” ํ•ด๋‹น ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.


์ด๋ฒˆ์—๋Š” label์ด๋ผ๋Š” eventํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด๋ณผ ๊ฒƒ์ด๋‹ค. ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

from tkinter import *
root = Tk()
root.title("์œˆ๋„์šฐ ์ฐฝ ๋งŒ๋“ค๊ธฐ")
#geometry๋Š” ์œˆ๋„์šฐ ์ฐฝ ํฌ๊ธฐ๋ฅผ ๊ฒฐ์ • ์ง“๋Š” ๋ช…๋ น์–ด์ด๋‹ค.
root.geometry("230x120")

##label์„ ๊ฒฐ์ • ์ง“๋Š” ๋ถ€๋ถ„์ด๋‹ค.
lbl_red = Label(root, text = "red")
lbl_green = Label(root, text = "green")
lbl_white = Label(root, text = "white", font="Times 20 bold italic", fg = "white", bg = "black")

lbl_red.pack()
lbl_green.pack()
lbl_white.pack()
root.mainloop()

 

Label()

ํ•ด๋‹น ํ•จ์ˆ˜๋Š” ๋ผ๋ฒจ ์œ„์ ฏ์„ ์ƒ์„ฑํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. 

.pack()

์ƒ์„ฑํ•œ ๋ผ๋ฒจ์„ ์œˆ๋„์šฐ์— ๋ฐฐ์น˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” pack()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

ํ•ด๋‹น ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์œ„์™€ ๊ฐ™๋‹ค.


์ด์ œ ๋ผ๋ฒจ์„ ์ƒ์„ฑํ•ด ๋ดค์œผ๋‹ˆ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋Š” input event๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์ž. ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

from tkinter import *
root = Tk()
root.title("pack() ๋ฐฐ์น˜ ๊ด€๋ฆฌ์ž ์˜ˆ์ œ")
root.geometry("230x120")
lbl_white = Label(root, text = "white", font = "Times 16 bold italic", fg = "white", bg = "black")

#input์„ ์ฒ˜๋ฆฌํ•˜๋Š” event์ด๋‹ค.
ent_input = Entry(root, width=22)
lbl_white.pack()
ent_input.pack()
root.mainloop()

Entry()

input์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ด๋‹ค. 


์ด์ œ  input์„ ํ†ตํ•ด์„œ ์ž…๋ ฅํ•œ ๊ฐ’๋“ค์„ ์ถ”์ถœํ•˜๋Š” ํ•จ์ˆ˜์™€ ๋ฒ„ํŠผ event๋ฅผ ์ƒ์„ฑํ•˜์ž.

from tkinter import *
root = Tk()
root.title("๋ฒ„ํŠผ๊ณผ ์ด๋ฒคํŠธ")
root.geometry("230x120")

#ํ•จ์ˆ˜ ๊ตฌํ˜„
def proc():
    print("Hello!!")

#command์—ญํ• ์€ ๋ฌด์—‡์ธ๊ฐ€.
btn = Button(root, text = "์ธ์‚ฌํ•˜๊ธฐ", command=proc)
#side๋Š” ๋ฌด์—‡์ธ๊ฐ€.
btn.pack(side=BOTTOM)
root.mainloop()

Button()

Button()ํ•จ์ˆ˜๋Š” button์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜์ด๋‹ค. ์ดํ›„์— command๋ผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค. ๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์„ ๋•Œ ํ•จ์ˆ˜ print("Hello")๊ฐ€ ์ฝ˜์†”์— ์ฐํžˆ๋Š” ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜ ์ด๋ฏธ์ง€๋ฅผ ํ™•์ธํ•˜์ž.

def ~ () :

def()๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜์ด๋‹ค. 


<์‹ค์Šต>

#tkinter ์—ฐ๊ฒฐํ•˜๊ธฐ
from tkinter import *
root = Tk()
root.title("๋กœ๊ทธ์ธํ•˜๊ธฐ")
root.geometry("200x100")

#์ฝ˜์†”์— '๋กœ๊ทธ์ธ์ž…๋‹ˆ๋‹ค.'ํ•จ์ˆ˜๊ตฌํ˜„
def Login():
    print("๋กœ๊ทธ์ธ์ž…๋‹ˆ๋‹ค")


#์•„์ด๋”” Lable
lbl_ID = Label(root, text = "์•„์ด๋””(ID)")
#๋น„๋ฐ€๋ฒˆํ˜ธ Lable
lbl_PW = Label(root, text = "๋น„๋ฐ€๋ฒˆํ˜ธ(PW)")
#์•„์ด๋”” input
ent_ID = Entry(root, width=27)
#๋น„๋ฐ€๋ฒˆํ˜ธ input
ent_PW = Entry(root, width=27)
#login ๋ฒ„ํŠผ 
btn_login = Button(root, text = "๋กœ๊ทธ์ธํ•˜๊ธฐ", fg = "white", bg = "black", command=Login)

##packํ•จ์ˆ˜ ๊ตฌ์—ญ
lbl_ID.pack()
ent_ID.pack()
lbl_PW.pack()
ent_PW.pack()
btn_login.pack(side=BOTTOM)

root.mainloop()

728x90