tkinter 上的动态调整矩形大小 canvas
Dynamic resizing rectangle on tkinter canvas
我正在尝试创建一个简单的滑块,它可以在 Tkinter canvas 上调整矩形的大小。我试过先只改变高度但是没有用。
from tkinter import *
sl_value = 10
def width(e):
sl_value = e
root = Tk()
frame = Frame(root)
frame.pack()
slider = Scale(frame, from_=10 , to=100, orient = HORIZONTAL, bg="blue",command = width)
slider.pack()
canvas = Canvas(root,height=500,width=360)
canvas.pack()
rectangle = canvas.create_rectangle(20,50, 40,3*sl_value, fill="green")
root.mainloop()
它也没有引发任何错误,只是显示矩形和滑块的初始状态。
我在这里做错了什么??
像这样修改函数width()
:
def width(e):
x0, y0, x1, y1 = canvas.coords(rectangle) # get the coords of rect
y1 = 3 * float(e) # calc new coords
canvas.coords(rectangle, x0, y0, x1, y1) # set new coords
我正在尝试创建一个简单的滑块,它可以在 Tkinter canvas 上调整矩形的大小。我试过先只改变高度但是没有用。
from tkinter import *
sl_value = 10
def width(e):
sl_value = e
root = Tk()
frame = Frame(root)
frame.pack()
slider = Scale(frame, from_=10 , to=100, orient = HORIZONTAL, bg="blue",command = width)
slider.pack()
canvas = Canvas(root,height=500,width=360)
canvas.pack()
rectangle = canvas.create_rectangle(20,50, 40,3*sl_value, fill="green")
root.mainloop()
它也没有引发任何错误,只是显示矩形和滑块的初始状态。 我在这里做错了什么??
像这样修改函数width()
:
def width(e):
x0, y0, x1, y1 = canvas.coords(rectangle) # get the coords of rect
y1 = 3 * float(e) # calc new coords
canvas.coords(rectangle, x0, y0, x1, y1) # set new coords