为什么我不能改变我的乌龟的宽度?
Why can't I change the width of my turtle?
我正在用 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>'
和 '<2>'
,从某种意义上说是错误的,它不是你缩进的,因为它指的是鼠标按钮 1 和 2 而不是数字键 1 和 2。要将它绑定到数字键 1 和 2,它应该是:
canvas.focus_set()
canvas.bind('1', width_one)
canvas.bind('2', width_two)
由于函数在初始阶段没有任何变化,所以不会做任何变化,测试一下,说:
# Completed Version
canvas.focus_set()
canvas.bind('1', lambda event:print('You pressed 1'))
canvas.bind('2', lambda event:print('You pressed 2'))
当您分别按 1 和 时,您会注意到终端中打印了 1 和 2
希望这解决了问题,如果有任何错误请告诉我。
干杯
我正在用 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>'
和 '<2>'
,从某种意义上说是错误的,它不是你缩进的,因为它指的是鼠标按钮 1 和 2 而不是数字键 1 和 2。要将它绑定到数字键 1 和 2,它应该是:
canvas.focus_set()
canvas.bind('1', width_one)
canvas.bind('2', width_two)
由于函数在初始阶段没有任何变化,所以不会做任何变化,测试一下,说:
# Completed Version
canvas.focus_set()
canvas.bind('1', lambda event:print('You pressed 1'))
canvas.bind('2', lambda event:print('You pressed 2'))
当您分别按 1 和 时,您会注意到终端中打印了 1 和 2
希望这解决了问题,如果有任何错误请告诉我。
干杯