마우스 버튼으로 창을 클릭하면 좌표를 저장하고 주어진 두 점 사이에 선을 생성하는 GUI 응용 프로그램을 만드는 경우를 생각해 보십시오. Tkinter는 사용자가 키나 버튼을 기능과 바인딩할 수 있는 이벤트를 제공합니다.
두 점 사이에 선을 그리려면 다음과 같은 일반적인 단계를 따르십시오.
-
캔버스 위젯을 만들고 압축하여 창에 표시합니다.
-
draw_line() 함수 정의 사용자가 클릭 이벤트를 할 때 이벤트로 작동합니다.
-
캔버스의 클릭 수를 계산하는 전역 변수를 만듭니다.
-
개수가 2가 되면 첫 번째 좌표와 두 번째 좌표 사이에 선을 그립니다.
-
함수를 완전히 제어하려면 마우스 버튼을 콜백 함수와 결합하십시오.
예시
# Import the required libraries
from tkinter import *
from tkinter import ttk
# Create an instance of tkinter frame or window
win=Tk()
# Set the size of the window
win.geometry("700x350")
# Define a function to draw the line between two points
def draw_line(event):
global click_num
global x1,y1
if click_num==0:
x1=event.x
y1=event.y
click_num=1
else:
x2=event.x
y2=event.y
# Draw the line in the given co-ordinates
canvas.create_line(x1,y1,x2,y2, fill="green", width=10)
# Create a canvas widget
canvas=Canvas(win, width=700, height=350, background="white")
canvas.grid(row=0, column=0)
canvas.bind('<Button-1>', draw_line)
click_num=0
win.mainloop() 출력
위의 코드를 실행하여 창을 표시합니다. 캔버스 위젯을 아무 곳이나 두 번 클릭하면 캔버스에 선이 그려집니다.
