본문 바로가기
프로그램/Python 1000제

Python 281제] 파이썬 EXPRESS CHAPTER 9. 도전문제 p439

by 건티 2024. 5. 22.
728x90

출처 : 반크_독도2023

 

참고풀이]

##
# 이 프로그램은 버튼이 눌리면 해당 도형을 캔버스에 그린다. 
#
from tkinter import *
from tkinter import messagebox

WIDTH = 600
HEIGHT = 200
def displayLine():
    canvas.create_line(10,10,WIDTH-10,HEIGHT-10,fill='green')

def displayRect():
    canvas.create_rectangle(10,10,WIDTH-10,HEIGHT-10)

def displayOval():
    canvas.create_oval(10,10,WIDTH-10,HEIGHT-10, fill="yellow")

def displayArc():
    canvas.create_arc(10,10,WIDTH-10,HEIGHT-10,start=0,extent=120,width=10,fill='blue')
    
def displayPolygon():
    canvas.create_polygon(10,10, WIDTH-10, HEIGHT-10, 200, 90, 300, 160)

def displayImage():
    img=PhotoImage(file="saucer.png")
    canvas.create_image(10,10, anchor=NW,image=img)
    messagebox.showinfo("PKT","이미지를 불러왔습니다.")

def clearCanvas():
    canvas.delete(ALL)

window=Tk()
canvas=Canvas(window, width=WIDTH, height=HEIGHT, bg='white')
canvas.pack(padx=5, pady=5)
frame=Frame(window)
frame.pack(padx=5, pady=5)

btLine=Button(frame, text="Line", width=11, command=displayLine).grid(row=1,column=1)
btRectangle=Button(frame, text="Rectangle", width=11, command=displayRect).grid(row=1,column=2)
btOval=Button(frame,text="Oval", width=11, command=displayOval).grid(row=1,column=3)
btPolygon=Button(frame, text="Polygon", width=11, command=displayPolygon).grid(row=1,column=4)
btArc=Button(frame, text="Arc", width=11, command=displayArc).grid(row=1,column=5)
btImage=Button(frame,text="Image", width=11, command=displayImage).grid(row=1,column=6)
btClear=Button(frame,text="Clear", width=11, command=clearCanvas).grid(row=1,column=7)

window.mainloop()

 

참고풀이 결과]

시작창)

이미지 불러오기)

 

 

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글