Python的Tkinter库与Turtle库集成

   上一篇文章讲了用Tkinter的画布简易实现了白板功能,但是画笔写出来的墨迹断断续续,不连贯,那么这篇文章就来讲如何把Tkinter库与Turtle库集成。

话不多说,上代码:

def goto_mouse(event):
    t.goto(event.x-w/2,(event.y-h/2)*(-1))
	#使画笔移动到鼠标位置
def uppen(event):
    t.penup()
	#提起画笔
def paint(event):
    t.pendown()
	#放下画笔

#上面的函数中,括号内必须添加event,否则函数被调用时不会被执行

from tkinter import *
import turtle

win = Tk()
win.title('白板程序')
win.overrideredirect(True)
w, h = win.maxsize()
win.geometry("{}x{}".format(w, h))
#创建窗体

canvas_main = Canvas(win,width=w,height=h,bg="#ffffff")
canvas_main.pack()
#添加画布
#以下是Tkinter库与Turtle库集成的代码
t = turtle.RawTurtle(canvas_main) #将Turtle的画布集成在叫做canvas_main的画布中
t.pencolor("#000000") #画笔颜色
t.hideturtle() #隐藏turtle的自带画笔
t.penup() #提起画笔

canvas_main.bind("<B1-Motion>", goto_mouse) #鼠标移动
canvas_main.bind("<ButtonPress-1>",paint)   #鼠标按下
canvas_main.bind("<ButtonRelease-1>",uppen) #鼠标释放
#绑定

win.mainloop()

效果图:
Python的Tkinter库与Turtle库集成
这样就写出来的就是连贯的线了

上一篇:python编写猜数字小游戏程序


下一篇:解决python tkinter 展示jpg、png格式图片的问题