繁体   English   中英

在 tkinter 画布上动态调整矩形大小

[英]Dynamic resizing rectangle on tkinter canvas

我正在尝试创建一个简单的滑块,可以在 Tkinter 画布上调整矩形的大小。 我试图首先只改变高度,但没有奏效。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM