【发布时间】:2021-06-10 14:55:21
【问题描述】:
我想在每次点击“btn1”时为表格的长度和宽度添加一个单位。这是代码:
from tkinter import*
win=Tk()
y=3
def func():
global y
y+=1
func()
for i in range(1,y):
for j in range(1,y):
frm=Frame(win,bd=2)
frm.grid(row=i,column=j)
btn=Button(frm,bg="red")
btn.grid()
btn1=Button(win,command=func)
btn1.grid()
win.mainloop()
【问题讨论】:
-
究竟出了什么问题?
-
回调在改变 y 时为时已晚。设置网格的 for 循环已经运行,并且在您按下按钮时完成。您将需要一种在回调函数中重新创建或添加到网格的方法。
-
每次点击,3 * 3 的表格都会保留。
-
当然它仍然存在,因为您的回调仅在 y 用于制作表格后才改变。您的回调没有改变表格。