python - 如何结合 tkinter 和海龟?
问题描述
我有一部分这样的代码
import turtle
turtle.bgcolor("green")
draw = turtle.Turtle()
draw.speed(1000000)
draw.hideturtle()
draw.pensize(3)
draw.color("white")
def Board (a, x, y, size):
draw.pu()
draw.goto(x, y)
draw.pd()
for i in range (0, 4):
draw.forward(size)
draw.right(90)
x =-40
y = -40
size = 40
for i in range (0, 10):
for j in range (0, 10):
Board (draw, x + j*size, y + i*size, size)
turtle.done()
像这样
import tkinter
import tkinter.messagebox
window = tkinter.Tk()
def Button_click ():
tkinter.messagebox.showinfo("Game", "Tic Tac Toe")
button = tkinter.Button(window, text = "Play!", command = Button_click)
button.pack()
window.mainloop()
由于我正在尝试创建一个带有按钮的窗口来进入井字游戏(我还没有完成其余的,只是棋盘)。有什么办法可以将turtle和tkinter结合起来吗?谢谢
解决方案
是的。Python turtle 以两种模式运行,独立模式和嵌入在更大的 tkinter 程序中。而不是Turtle
and Screen
,当使用 turtle 嵌入式时,您可以使用RawTurtle
,TurtleScreen
和可选ScrolledCanvas
的 。您可以根据需要构建您的 tkinter 界面,使用 Canvas 来包含您的海龟图形。您可以通过搜索 SO 来找到在 tkinter 中嵌入海龟的示例RawTurtle
。
这是一个同时编写嵌入式和独立代码的示例。
推荐阅读
- javascript - wavesurfer.js 过滤器未按预期工作 [需要帮助]
- google-apps-script - 谷歌表时间戳“矩阵”
- django - 为什么 django 认为这些值不同?
- bash - 如何在 sudoers.d 文件中添加 DEBIAN_FRONTEND=noninteractive?
- c# - 执行 com.android.build.gradle.internal.tasks.workers$actionfacade 时发生故障 详情见控制台
- php - 使用 php-fpm 时应该阻止 9000 端口吗?
- javascript - React 保持不超过一个数组元素的状态
- sql - 视图返回空白(使用子查询过滤余额列)
- jdbc - 带有 ResultSet 的 Lambda 表达式
- javascript - 如何在 background.js 中监听 Chrome 窗口的控制台日志消息?