AttributeError: '_Screen' object has no attribute 'mainloop'
AttributeError: '_Screen' object has no attribute 'mainloop'
我正在设计一个简单的 Python 程序,它使用 Turtle 图形模块通过箭头键在屏幕上画线。
import turtle
turtle.setup(400,500) # Determine the window size
wn = turtle.Screen() # Get a reference to the window
wn.title("Handling keypresses!") # Change the window title
wn.bgcolor("lightgreen") # Set the background color
tess = turtle.Turtle() # Create our favorite turtle
# The next four functions are our "event handlers".
def h1():
tess.forward(30)
def h2():
tess.left(45)
def h3():
tess.right(45)
def h4():
wn.bye() # Close down the turtle window
# These lines "wire up" keypresses to the handlers we've defined.
wn.onkey(h1, "Up")
wn.onkey(h2, "Left")
wn.onkey(h3, "Right")
wn.onkey(h4, "q")
# Now we need to tell the window to start listening for events,
# If any of the keys that we're monitoring is pressed, its
# handler will be called.
wn.listen()
wn.mainloop()
当我尝试执行它时,返回了以下错误。
Traceback (most recent call last):
File "C:\Users\Noah Huber-Feely\Desktop\PEN_Programming\Python\etchy_sketch1.py", line 32, in <module>
wn.mainloop()
AttributeError: '_Screen' object has no attribute 'mainloop'
我使用的是 Python 2.7,以前使用 Turtle 图形时没有遇到过问题。直到现在我开始使用按键输入时才出现这个问题。
在网上搜索,我只找到了与我目前遇到的问题和模块不同的文章。
如果您需要更多信息,请告诉我。谢谢!
还是turtle.mainloop()
,不是wn.mainloop()
。
我怀疑这是因为您可以创建多个屏幕,所以仍然让 turtle
模块管理所有屏幕而不是试图让多个主循环一起工作是有意义的。
我正在设计一个简单的 Python 程序,它使用 Turtle 图形模块通过箭头键在屏幕上画线。
import turtle
turtle.setup(400,500) # Determine the window size
wn = turtle.Screen() # Get a reference to the window
wn.title("Handling keypresses!") # Change the window title
wn.bgcolor("lightgreen") # Set the background color
tess = turtle.Turtle() # Create our favorite turtle
# The next four functions are our "event handlers".
def h1():
tess.forward(30)
def h2():
tess.left(45)
def h3():
tess.right(45)
def h4():
wn.bye() # Close down the turtle window
# These lines "wire up" keypresses to the handlers we've defined.
wn.onkey(h1, "Up")
wn.onkey(h2, "Left")
wn.onkey(h3, "Right")
wn.onkey(h4, "q")
# Now we need to tell the window to start listening for events,
# If any of the keys that we're monitoring is pressed, its
# handler will be called.
wn.listen()
wn.mainloop()
当我尝试执行它时,返回了以下错误。
Traceback (most recent call last):
File "C:\Users\Noah Huber-Feely\Desktop\PEN_Programming\Python\etchy_sketch1.py", line 32, in <module>
wn.mainloop()
AttributeError: '_Screen' object has no attribute 'mainloop'
我使用的是 Python 2.7,以前使用 Turtle 图形时没有遇到过问题。直到现在我开始使用按键输入时才出现这个问题。
在网上搜索,我只找到了与我目前遇到的问题和模块不同的文章。
如果您需要更多信息,请告诉我。谢谢!
还是turtle.mainloop()
,不是wn.mainloop()
。
我怀疑这是因为您可以创建多个屏幕,所以仍然让 turtle
模块管理所有屏幕而不是试图让多个主循环一起工作是有意义的。