Python如何使用turtle和tkinter让小海龟互动起来
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要介绍了Python如何使用turtle和tkinter让小海龟互动起来,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Tur
千家信息网最后更新 2026年11月02日Python如何使用turtle和tkinter让小海龟互动起来
这篇文章主要介绍了Python如何使用turtle和tkinter让小海龟互动起来,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
Turtle 窗口
请看下图,turtle窗口图标是一片小叶子,估计它就是继承自 tkinter 库。
tkinter 窗口
参阅了一些资料,发现 turtle 方法可直接在 tkinter 的画布Canvas上操作:
源代码
from tkinter import *from turtle import RawTurtle def circ(): 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) def rect(): 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) while True: tu.forward(d) tu.left(rad) if abs(tu.pos()[0]+d//5)<0.1 and abs(tu.pos()[1])<0.1: break tu.end_fill() def taiji(): 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() def main(): global tu,et1,et2,et3 root = 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让小海龟互动起来"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
篇文章
小海
错误
输入
多边形
控件
直径
太极
三个
下图
价值
兴趣
参数
叶子
同时
图标
圆心
坐标
太极图
就是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技活动banner
圆梦互联网科技
互联网科技的
西安互联网科技
迪茉互联网科技
艾特科技互联网
宜安科技 互联网金融
米客互联网科技
上海卓越科技 互联网
互联网 科技服务平台
甘肃拓世互联网科技有限公司
海南购全球互联网科技
本届互联网博览会上的黑科技
互联网方面的科技前沿
元气玛特互联网科技公司是外包吗
上海创道互联网络科技有限公司
昆明中奇联合互联网科技
互联网时代科技型公司的机会
保山浩联互联网科技有限公司
上海互联网科技园景观
睿民互联网科技
米客互联网科技
随着互联网科技发展
晓花互联网科技有限公司网址
互联网科技公司有风险吗
互联网第三次科技革命特征
东营紫格互联网科技
同城互联网络科技
杭州融税互联网科技有限公司
互联网科技大会大佬