Python如何使用turtle和tkinter让小海龟互动起来
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要介绍了Python如何使用turtle和tkinter让小海龟互动起来,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Tur
千家信息网最后更新 2025年11月09日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安全错误
数据库的锁怎样保障安全
平板邮箱显示无法连接服务器
互联网交易信息面临网络安全
广东gps时钟同步服务器
vfp打开数据库是什么意思
2 数据库概念结构设计
服务器开机风扇不动
剑侠世界3服务器火爆能挤进去嘛
代理服务器 成都
点歌机服务器怎么做
vb如何判断数据库写入正常
山东pdu服务器电源哪家有卖
网络安全科普知识讲座中学生
梦落可神奇宝贝服务器贴吧
我的世界服务器猪灵无法交易
成都昆腾软件开发有限公司 许
黄河鲲鹏服务器400电话
美图手机怎么删除所有数据库
软件开发项目经理工作流程
db2数据库日志扩容
网络安全寒
php软件开发技术交流
男生学软件开发
软件开发团队能力介绍
揭阳网络安全协会
苹果cms如何打开服务器组
丰田汽车网络技术
云开发能关联数据库吗
免费国外代理服务器
数据库表单追加大量数据
数据库文件怎么备份