第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Python Turtle 中的箭頭命令

Python Turtle 中的箭頭命令

肥皂起泡泡 2022-07-12 15:46:32
我一直在嘗試使用畫布功能將海龜放入 tkinter。我希望能夠制作一個(gè)海龜蝕刻素描器,這樣我就可以用箭頭鍵控制海龜。我似乎無法讓它工作并且不理解它吐出的錯(cuò)誤:NameError: name 'Screen' is not defined這是我的代碼:import tkinter as tkimport turtlewindow = tk.Tk()window.geometry("750x500")window.resizable(0,0)app = tk.Canvas(master = window,                width = 500,                height = 500,                bg = "white")app.pack()Screen()turtle = turtle.RawTurtle(app)turtle = turtle.Screen()def k1():    move.forward(1)def k2():    move.left(1)def k3():    move.right(1)def k4():    move.back(1)turtle.onkey(k1, "Up")turtle.onkey(k2, "Left")turtle.onkey(k3, "Right")turtle.onkey(k4, "Down")turtle.listen()window.mainloop()
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊

你必須使用


turtle.Screen()

代替


Screen()

但我看到代碼的其他問題。 當(dāng)按下鍵時(shí),我會(huì)使用tkinter方法來執(zhí)行功能。bind()


import tkinter as tk

import turtle


# --- functions ---


def k1(event):

    t.forward(1)


def k2(event):

    t.left(1)


def k3(event):

    t.right(1)


def k4(event):

    t.back(1)


# --- main ---


window = tk.Tk()


window.geometry("750x500")

window.resizable(False, False)


canvas = tk.Canvas(master=window, width=500, height=500, bg="white")

canvas.pack()


t = turtle.RawTurtle(canvas)


window.bind("<Up>", k1)

window.bind("<Left>", k2)

window.bind("<Right>", k3)

window.bind("<Down>", k4)


window.mainloop()


查看完整回答
反對 回復(fù) 2022-07-12
?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

就像你使用RawTurtleinstead of一樣Turtle,當(dāng)你使用嵌入在 tkinter 窗口中的 turtle 時(shí),如果你想要它提供的方法,你需要使用TurtleScreeninstead of :Screen


import tkinter as tk

from turtle import TurtleScreen, RawTurtle


window = tk.Tk()

window.geometry("750x500")

window.resizable(0, 0)


canvas = tk.Canvas(master=window, width=500, height=500)

canvas.pack()


screen = TurtleScreen(canvas)

turtle = RawTurtle(screen)


def k1():

    turtle.forward(1)


def k2():

    turtle.left(1)


def k3():

    turtle.right(1)


def k4():

    turtle.back(1)


screen.onkey(k1, "Up")

screen.onkey(k2, "Left")

screen.onkey(k3, "Right")

screen.onkey(k4, "Down")


screen.listen()

screen.mainloop()

在這種情況下不要使用獨(dú)立的海龜Screen,因?yàn)樗赡軙?huì)創(chuàng)建第二個(gè) tkinter 根窗口,從而導(dǎo)致稍后出現(xiàn)細(xì)微的錯(cuò)誤(例如圖像未加載。)


查看完整回答
反對 回復(fù) 2022-07-12
  • 2 回答
  • 0 關(guān)注
  • 555 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)