如何更新Tkinter表格中指定行和列的内容?
解决Tkinter表格指定单元格更新问题
你的问题在于创建Entry控件时没有保存每个控件的引用,导致后续无法定位到指定行列的单元格。解决方法是把所有Entry控件存储到一个二维列表中,通过行列索引直接访问目标单元格。
修改后的代码示例
import tkinter root = tkinter.Tk() # 创建二维列表存储所有Entry控件 table_entries = [] for i in range(5): # 每行创建一个子列表 row_entries = [] for j in range(5): example_table = tkinter.Entry(root, width=20, fg='blue', font=('Arial',16,'bold')) example_table.grid(row=i, column=j) example_table.insert(tkinter.END, "f") # 将当前Entry添加到行列表中 row_entries.append(example_table) # 将行列表添加到总表格列表 table_entries.append(row_entries) # 更新第4行第4列的内容(注意:Tkinter的grid行列索引从0开始) # 如果是从1开始计数的第4行第4列,对应索引为(3, 3) target_entry = table_entries[3][3] # 先清空原有内容 target_entry.delete(0, tkinter.END) # 插入新内容 target_entry.insert(tkinter.END, "新内容") root.mainloop()
关键说明
- 用二维列表
table_entries保存每个Entry控件,table_entries[i][j]对应第i行第j列的单元格(索引从0开始)。 - 更新单元格时,先调用
delete(0, tkinter.END)清空原有内容,再用insert插入新内容。
内容的提问来源于stack exchange,提问作者lupe120
相关产品推荐
相关产品推荐

