【问题标题】:Is there any command in turtle which stops turtle from further drawing?乌龟中是否有任何命令可以阻止乌龟进一步绘图?
【发布时间】:2019-07-04 10:45:37
【问题描述】:

我正在创建一个基于 tkinter 的程序,它使用海龟图形来绘制图形。我有一个在屏幕上绘制正方形的按钮。但是当我在海龟画别的东西时按下那个按钮时,海龟开始画正方形,完成它后再次继续它的前一个任务。我不希望它继续以前的功能。我想在任何地方直接停止它,然后做它的新工作。 这是示例代码,但这实际上不是我需要的。我试图简化问题。 将 tkinter 导入为 tk 从海龟进口 RawTurtle

def square():
    t.up()
    t.home()
    t.down()
    for i in range(4):
        t.fd(100)
        t.rt(90)

def drawseries():
    l = 2
    for i in range(100):
        t.fd(l)
        t.lt(90)
        l += 2

root = tk.Tk()
button = tk.Button(root,command = square, text = 'Draw Square')
button.pack()
canvas = tk.Canvas(root, width = 500, height = 500)
canvas.pack()

t = RawTurtle(canvas)
drawseries()

【问题讨论】:

  • turtle.penup() 也许?
  • 你能分享你的代码吗?
  • turtle.penup() 没有帮助。它只是不显示它的绘图,而是继续做它正在做的任何事情。我现在也添加了代码。
  • turtle.done()turtle.mainloop() 也许? (他们应该做同样的事情)

标签: python-3.x tkinter


【解决方案1】:

您总是在文件末尾调用drawseries() 命令。当 for 循环完成后,它会再次调用drawseries()

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2014-10-16
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多