Python

IDLE로 간단한 그림판 실습하기

J개발자 2021. 3. 21. 15:59

IDLE를 시작하면 스크립트모드(한줄씩 실행)아닌 New File> 대화형 모드로 코드 작성!

from tkinter import*
#변수선언
window = None
canvas = None
x1,y1,x2,y2 = None,None,None,None #선의 시작과 끝

#함수
def mouseClick(event):
     global x1,y1,x2,y2
     x1= event.x
     y1=event.y
def mouseDrop(event):
     global x1,y1,x2,y2
     x2=event.x
     y2=event.y
     canvas.create_line(x1,y1,x2,y2,width=5,fill="red")

#메인 코드
window = Tk()
window.title("그림판 비슷한 프로그램")
canvas = Canvas(window,height=300,width=300)
canvas.bind("<Button-1>",mouseClick)
canvas.bind("<ButtonRelease-1>",mouseDrop)
canvas.pack()
window.mainloop()

<Button-1>-왼쪽, <Button-2>-가운데, <Button-3>-오른쪽 버튼

 

<결과>

종료 버튼 추가

 

 

파이썬 Turtle Module 사용 그림판

#사각형 그리기
import turtle
t=turtle.Pen()
t.pensize(10)
t.pencolor("blue")

t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)
t.left(90)
t.forward(300)

##지우기
#t.reset() 
#t.clear()

 

#삼각형 그리기
import turtle
t=turtle.Pen()
t.pensize(5)
t.pencolor("blue")

t.forward(300)
t.left(120)
t.forward(300)
t.left(120)
t.forward(300)


#t.reset() 
#t.clear()
#별그리기
import turtle
t=turtle.Pen()
t.pensize(5)
t.pencolor("blue")

#t.up()펜을 들어 그림 그리지 않음
#t.down() 그림 다시 그림

t.forward(300)
t.left(120)
t.forward(300)
t.left(120)
t.forward(300)
t.up()
t.right(150)
t.forward(170)
t.right(90)
t.down()
t.forward(300)
t.right(120)
t.forward(300)
t.right(120)
t.forward(300)


#t.reset() 
#t.clear()
import turtle  #모듈 임포트

loadWindow = turtle.Screen() #create window
turtle.speed(100)

for i in range(100):
    turtle.circle(10*i)
    turtle.circle(-10*i)
    turtle.left(i)


 

 

 

 

<최종 그림판 결과>

from tkinter import*

window = None
canvas = None
x1,y1 = None,None

def mouseMove(event):
    global x1,y1
    x1=event.x
    y1 =event.y
    canvas.create_line(x1,y1,x1+1,y1+1,width=10,fill="black")

window = Tk()
window.title("마우스 드래그 그림판")
canvas = Canvas(window,height=700,width=700)
canvas.bind("<B1-Motion>",mouseMove)
canvas.pack()
window.mainloop()