You need to enable JavaScript to run this app. Tkinter点击btn1每次给表格长宽各增加一个单位的实现问题
优惠活动
大模型
产品
解决方案
定价
更多

Tkinter点击btn1每次给表格长宽各增加一个单位的实现问题

问题核心原因

你当前的代码无法生效的核心问题有两个:

  • 表格渲染逻辑仅在程序启动时执行了一次,后续点击按钮仅修改了全局变量y的数值,没有触发新单元格的生成操作,UI不会自动刷新
  • 代码中存在HTML转义字符",替换为正常双引号才能正常运行
调整后可直接运行的代码
from tkinter import *
win = Tk()
y = 3

def func():
    global y
    old_size = y
    y += 1
    # 新增最后一整行的单元格
    for j in range(1, y):
        frm = Frame(win, bd=2)
        frm.grid(row=old_size, column=j)
        btn = Button(frm, bg="red")
        btn.grid()
    # 新增原有行的最后一列单元格
    for i in range(1, old_size):
        frm = Frame(win, bd=2)
        frm.grid(row=i, column=old_size)
        btn = Button(frm, bg="red")
        btn.grid()

# 初始化渲染初始尺寸的表格
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, text="扩大表格")
btn1.grid()
win.mainloop()
关键修改说明
  • 将新增单元格的逻辑放到按钮点击触发的func函数中,每次点击后自动补充对应位置的单元格,不需要重绘已有内容,性能更好
  • 采用增量渲染逻辑,不会影响已经生成的表格内容
  • 补充了按钮文本提示,方便操作

内容的提问来源于stack exchange,提问作者A K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 16:24:08