Don't understand cause of this AttributeError: '_Screen' object has no attribute 'setimage'
Don't understand cause of this AttributeError: '_Screen' object has no attribute 'setimage'
我的代码是:
import time
import turtle
from turtle import *
from random import randint
#GUI options
screen = turtle.Screen()
screen.setup(1000,1000)
screen.setimage("eightLane.jpg")
title("RACING TURTLES")
出现的错误信息是:
Traceback (most recent call last): File
"/Users/bradley/Desktop/SDD/coding term 1 year 11/8 lane
experementaiton.py", line 14, in <module>
screen.setimage("eightLane.jpg") AttributeError: '_Screen' object has no attribute 'setimage'
任何建议都有帮助。
做你想做的事情需要一个相当复杂的解决方法(实际上有两个)因为它需要使用 tkinter
模块来完成它的一部分(因为那是 turtle
-graphics 模块在内部使用来做它的图形),并且 turtle
中没有名为 setscreen()
的方法,正如您通过 AttributeError
发现的那样。
更复杂的是,tkinter
模块不支持 .jpg
。格式图像,因此需要另一种解决方法来克服该限制,这需要还需要使用 PIL
(Python 图像库)将图像转换为 tkinter
支持的格式。
from PIL import Image, ImageTk
from turtle import *
import turtle
# GUI options
screen = turtle.Screen()
screen.setup(1000, 1000)
pil_img = Image.open("eightLane.jpg") # Use PIL to open .jpg image.
tk_img = ImageTk.PhotoImage(pil_img) # Convert it into something tkinter can use.
canvas = turtle.getcanvas() # Get the tkinter Canvas of this TurtleScreen.
# Create a Canvas image object holding the tkinter image.
img_obj_id = canvas.create_image(0, 0, image=tk_img, anchor='center')
title("RACING TURTLES")
input('press Enter') # Pause before continuing.
我的代码是:
import time
import turtle
from turtle import *
from random import randint
#GUI options
screen = turtle.Screen()
screen.setup(1000,1000)
screen.setimage("eightLane.jpg")
title("RACING TURTLES")
出现的错误信息是:
Traceback (most recent call last): File
"/Users/bradley/Desktop/SDD/coding term 1 year 11/8 lane
experementaiton.py", line 14, in <module>
screen.setimage("eightLane.jpg") AttributeError: '_Screen' object has no attribute 'setimage'
任何建议都有帮助。
做你想做的事情需要一个相当复杂的解决方法(实际上有两个)因为它需要使用 tkinter
模块来完成它的一部分(因为那是 turtle
-graphics 模块在内部使用来做它的图形),并且 turtle
中没有名为 setscreen()
的方法,正如您通过 AttributeError
发现的那样。
更复杂的是,tkinter
模块不支持 .jpg
。格式图像,因此需要另一种解决方法来克服该限制,这需要还需要使用 PIL
(Python 图像库)将图像转换为 tkinter
支持的格式。
from PIL import Image, ImageTk
from turtle import *
import turtle
# GUI options
screen = turtle.Screen()
screen.setup(1000, 1000)
pil_img = Image.open("eightLane.jpg") # Use PIL to open .jpg image.
tk_img = ImageTk.PhotoImage(pil_img) # Convert it into something tkinter can use.
canvas = turtle.getcanvas() # Get the tkinter Canvas of this TurtleScreen.
# Create a Canvas image object holding the tkinter image.
img_obj_id = canvas.create_image(0, 0, image=tk_img, anchor='center')
title("RACING TURTLES")
input('press Enter') # Pause before continuing.