用Tkinter的Cancas实现一个写字板

一、实现原理

获取用户拖动鼠标的坐标,然后在每个坐标对应绘制一个点上去就可以

Tkinter并没有提供画点的方法。

可以通过绘制一个超小的椭圆形来表示一个点

二、实现代码

通过响应“按住鼠标拖动事件”(B1-Motion),在鼠标拖动的同时获取鼠标的实时位置(x,y),并绘制一个超小的椭圆来代表一个点

from tkinter import *

root = Tk()

w = Canvas(root, width=400, height=200)
w.pack()

def paint(event):
    x1, y1 = (event.x - 1), (event.y - 1)
    x2, y2 = (event.x + 1), (event.y + 1)
    w.create_oval(x1, y1, x2, y2, fill="red")
   
w.bind("", paint)

Label(root,text="按住鼠标左键并移动,开始绘制你的理想蓝图吧......").pack(side=BOTTOM)

mainloop()

三、运行代码

用Tkinter的Cancas实现一个写字板_第1张图片

 

你可能感兴趣的:(Python)