微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我不能改变乌龟的宽度?

如何解决为什么我不能改变乌龟的宽度?

我正在Tkinter和turtle中制作一个应用程序,我想通过数字按键来更改我的turtle的宽度。因此,当我键入2时,应该将用户宽度更改为2,而当我键入1时,应该将宽度更改为1。但是,当我按下按键上的数字时,它不起作用吗?

这是示例代码

from tkinter import *
from tkinter import filedialog
import turtle
import time


# Screen
screen = Tk()
screen.geometry("{0}x{1}+0+0".format(screen.winfo_screenwidth(),screen.winfo_screenheight()))
screen.title("Example Code")
screen.configure(bg="Gray")
# Canvas
canvas = Canvas(master=screen,width="666",height="666")
canvas.place(relx=0.5,rely=0.5,anchor=CENTER)


# Making The User
user = turtle.RawTurtle(canvas)
user.shape("triangle")
user.setheading(90)
user.speed(0)
user.color("black")
user.down()
user.goto(0,0)
userspeed = 15
user.width(1)


# Width Functions
def width_one(event=None):
    user.width(1)


def width_two(event=None):
    user.width(2)

canvas.focus_set()
canvas.bind('<1>',width_one)
canvas.bind('<2>',width_two)




screen.mainloop()

解决方法

好吧,问题似乎出在函数“ 在初始状态没有任何变化” ,而且键绑定错误的'<1>'和{{ 1}},从某种意义上讲是错误的,它不是您要缩进的内容,因为它指的是鼠标按钮1和2,而不是数字键1和2。要将其绑定到数字键1和2,应为:>

'<2>'

由于该函数在初始阶段未显示任何更改,因此它不会进行任何更改以进行测试,例如:

canvas.focus_set()
canvas.bind('1',width_one)
canvas.bind('2',width_two)

当您分别按下1和1时,您会注意到终端上印有1和2。

希望这可以解决问题,请让我知道是否有任何错误。

欢呼

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。