1. onscreenclick(), onkeypress()는 사건처리 함수, 이벤트 핸들러라고 한다.
2. tkinter 를 이용하여 창을 구성한다.
from tkinter import*
window = Tk()
def p1():
c = (float(e1.get())-32)/1.8
e2.insert(5, str(c))
print(c)
return c
def p2():
f = (float(e2.get())*1.8)-32
e1.insert(5, str(f))
print(f)
return f
l1 = Label(window, text ="화씨")
l2 = Label(window, text ="섭씨")
l1.pack()
l2.pack()
e1 = Entry(window)
e2 = Entry(window)
e1.pack()
e2.pack()
b1 = Button(window, text ="화씨->섭씨", command =p1)
b2 = Button(window, text ="섭씨->화씨", command=p2)
b1.pack()
b2.pack()
window.mainloop()
3.
from tkinter import*
mycolor = "blue"
n = 1
def paint(event):
global n
n+=1
x1, y1 = ( event.x- n), (event.y+n)
x2, y2 = ( event.x+ n), (event.y-n)
canvas.create_oval(x1, y1, x2, y2, fill = mycolor)
# 두 개으 좌표를 이용한 타원/원 만들기
window =Tk()
canvas = Canvas(window)
canvas.pack()
canvas.bind("<Button-1>", paint)
canvas.bind("<Button-3>", paint)
window.mainloop()
4. 완벽한 그림판을 만들기 위해서는 클릭과 모션을 구분해서 받을 필요가 있다. 그렇기 때문에 함수 두 가지를 만들어서 처리해줄 수 있다.
from tkinter import*
mycolor = "black"
n = 1
def paint(event):
global n
n+=1
x1, y1 = ( event.x- n), (event.y-n)
x2, y2 = ( event.x+ n), (event.y+n)
canvas.create_oval(x1, y1, x2, y2, fill = mycolor)
def mouseMove(event):
global x1, y1
x1, y1 = ( event.x- 1), (event.y-1)
canvas.create_line(x1,y1, event.x, event.y, width=1, fill="red")
def red():
global mycolor
mycolor = "red"
def blue():
global mycolor
mycolor = "blue"
window =Tk()
canvas = Canvas(window, width=1000, height=1000)
red = Button(window, text="빨간색", command = red)
blue = Button(window, text="파란색", command = blue)
red.pack()
blue.pack()
canvas.pack()
canvas.bind("<B1-Motion>", mouseMove)
canvas.bind("<Button-1>", paint)
4. 졸았다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > [프로그래밍] 파이썬' 카테고리의 다른 글
2019-08-12 파일 읽기 (0) | 2019.08.12 |
---|---|
2019/08/12 함수 (0) | 2019.08.12 |
2018/08/07 함수 (0) | 2019.08.07 |
2019/08/07 프로그래밍 조건문 (0) | 2019.08.07 |
[프로그래밍]20190805 Python (0) | 2019.08.05 |