Не могу отобразить мой черепаховый объект на холсте Tkinter - PullRequest
0 голосов
/ 23 сентября 2019

Я очень плохо знаком с Python.Я хотел показать объект черепахи на холсте в Tkinter.Я не уверен, почему объект не отображается.

Я использовал RawTurtle(), чтобы использовать холст Tkinter в качестве экрана.

root =tk.Tk()

outercanvas = Canvas(root, width=900, height=800, bg='#00ffff')
outercanvas.pack(expand=Y,fill=BOTH)

innercanvas = Canvas(outercanvas, width=680, height=700)
outercanvas.create_window(100, 40, anchor=NW, window=innercanvas)


bg = tk.PhotoImage(file="level2.png")
innercanvas.create_image(-5, 0, image = bg, anchor=NW)



bob = turtle.RawTurtle(innercanvas)

Я ожидаю, что черепаха появится наверхней части холста, так что я могу управлять им позже.I want the turtle to appear in the inner canvas

Чего мне не хватает?

1 Ответ

0 голосов
/ 23 сентября 2019

Ваше фоновое изображение и черепаха кажутся конфликтующими.Вместо этого попробуйте это следующим образом:

import tkinter as tk
from turtle import RawTurtle, TurtleScreen

root = tk.Tk()

outercanvas = tk.Canvas(root, width=900, height=800, bg='#00ffff')
outercanvas.pack(expand=tk.Y, fill=tk.BOTH)

innercanvas = tk.Canvas(outercanvas, width=680, height=700)
outercanvas.create_window(100, 40, anchor=tk.NW, window=innercanvas)

screen = TurtleScreen(innercanvas)
screen.bgpic("level2.gif")

bob = RawTurtle(screen)

bob.circle(100)

screen.mainloop()

Обратите внимание, что мне пришлось создать и использовать «level2.gif», чтобы это работало, но у вас может быть более новый базовый tkinter и turtle, который принимает файлы PNG.

...