Python如何使用turtle和tkinter让小海龟互动起来

Python如何使用turtle和tkinter让小海龟互动起来

这篇文章主要介绍了Python如何使用turtle和tkinter让小海龟互动起来,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

Turtle 窗口

请看下图,turtle窗口图标是一片小叶子,估计它就是继承自 tkinter 库。

tkinter 窗口

参阅了一些资料,发现 turtle 方法可直接在 tkinter 的画布Canvas上操作:

源代码

fromtkinterimport*fromturtleimportRawTurtledefcirc():tu.penup()tu.home()tu.clear()tu.speed(0)[x,y,R]=et1.get().split(',')try:x=int(x.replace('(',''))y=int(y.replace(')',''))R=int(R.strip())except:x,y,R=0,0,50#输入错误则赋予默认值tu.goto(x,y-R)tu.pendown()tu.circle(R)defrect():tu.penup()tu.home()tu.clear()tu.speed(0)tu.color('red','yellow')tu.begin_fill()[d,rad]=et2.get().split(',')try:d=int(d)rad=int(rad)except:d,rad=200,216#输入错误则赋予默认值tu.pendown()tu.back(d//5)whileTrue:tu.forward(d)tu.left(rad)ifabs(tu.pos()[0]+d//5)<0.1andabs(tu.pos()[1])<0.1:breaktu.end_fill()deftaiji():tu.penup()tu.home()tu.clear()tu.speed(0)d=et3.get()try:d=int(d)except:d=120#输入错误则赋予默认值tu.hideturtle()tu.goto(d//2,-d)tu.pendown()tu.begin_fill()tu.color('black','black')tu.circle(d,extent=180)tu.circle(d//2,extent=180)tu.circle(-d//2,extent=180)tu.end_fill()tu.circle(-d,extent=180)tu.penup()tu.goto(d//2,-d//6*4)tu.pendown()tu.begin_fill()tu.fillcolor("black")tu.circle(d//5,extent=360)tu.end_fill()tu.penup()tu.goto(d//2,d//3)tu.pendown()tu.begin_fill()tu.fillcolor("white")tu.circle(d//5,extent=360)tu.end_fill()tu.penup()defmain():globaltu,et1,et2,et3root=Tk()root.geometry('520x520+150+300')root.title('turtle在tkinter.Canvas上的操作')root.resizable(False,False)canvas=Canvas(root,width=640,height=400)canvas.pack()tu=RawTurtle(canvas)tu.hideturtle()et1=Entry(root,width=12)et1.place(x=30,y=480)et1.insert(0,'(50,-20),100')bt1=Button(root,text='画圆',command=circ)bt1.place(x=60,y=425)et2=Entry(root,width=12)et2.place(x=190,y=480)et2.insert(0,'200,216')bt2=Button(root,text='多角星(或多边形)',command=rect)bt2.place(x=180,y=425)et3=Entry(root,width=12)et3.place(x=360,y=480)et3.insert(0,'120')bt3=Button(root,text='太极',command=taiji)bt3.place(x=380,y=425)root.mainloop()if__name__=='__main__':main()

turtle和tkinter混合使用

turtle和tkinter两者搭配使用,使得 turtle 的画图参数可以由 tkinter 的控件当场设置,这样就实现了turtle小海龟的现场互动,运行效果见图二。

三个Entry控件,分别设置:
  1. 圆心坐标和圆的直径;
  2. 多边形的边长和边的转动角度;
  3. 太极图的外圆直径。

感谢你能够认真阅读完这篇文章,希望小编分享的“Python如何使用turtle和tkinter让小海龟互动起来”这篇文章对大家有帮助,同时也希望大家多多支持恰卡编程网,关注恰卡编程网行业资讯频道,更多相关知识等着你来学习!

发布于 2022-03-03 21:26:23
收藏
分享
海报
0 条评论
40
上一篇:springboot怎么使用QQ邮箱发送邮件 下一篇: Python中logging模块如何使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码