You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中读取Tkinter GUI表格内用户输入的数据?

Tkinter二维Entry表格获取用户输入实现方案

你目前的代码核心问题是创建Entry组件时没有将组件实例或对应的绑定变量做持久化存储,循环结束后无法定位到对应的输入框,自然无法读取输入内容。你可以参考以下两种方案实现:

方案1:存储Entry组件实例直接取值

这种方式不需要额外绑定变量,直接通过Entry组件自带的get()方法读取内容,实现逻辑最简单:

修改后的表格创建代码

from tkinter import *
window = Tk()
height = 5
width = 2
# 定义二维列表存储所有Entry组件
entry_table = []
for i in range(height):
    # 每一行先新增空列表
    row_entries = []
    for j in range(width):
        # 修复原代码缺失的括号问题
        b = Entry(window)
        b.grid(row=i+1, column=j)
        row_entries.append(b)
    entry_table.append(row_entries)

获取表格所有数据的示例代码

你可以在需要触发取值的逻辑(比如按钮点击回调函数)中加入以下代码:

def get_table_data():
    # 存储最终的二维数据
    table_data = []
    for row in entry_table:
        row_data = []
        for entry in row:
            # 获取输入内容转为int,空输入默认赋值为0,可根据需求调整
            try:
                input_val = int(entry.get()) if entry.get().strip() else 0
            except ValueError:
                # 处理非数字输入的异常场景
                input_val = 0
            row_data.append(input_val)
        table_data.append(row_data)
    # 此处可对获取到的table_data做后续处理
    print(table_data)
    return table_data

# 可添加测试按钮触发取值逻辑
Button(window, text="获取表格数据", command=get_table_data).grid(row=height+1, column=0, columnspan=2)
window.mainloop()

方案2:通过绑定的IntVar变量取值

如果你确实需要用textvariable做双向绑定,可以存储所有绑定的IntVar实例,后续直接调用get()取值:

表格创建代码

from tkinter import *
window = Tk()
height = 5
width = 2
# 存储所有绑定的IntVar变量
var_table = []
for i in range(height):
    row_vars = []
    for j in range(width):
        int_var = IntVar()
        b = Entry(window, textvariable=int_var)
        b.grid(row=i+1, column=j)
        row_vars.append(int_var)
    var_table.append(row_vars)

取值代码

def get_table_data():
    table_data = []
    for row in var_table:
        row_data = [var.get() for var in row]
        table_data.append(row_data)
    print(table_data)
    return table_data

Button(window, text="获取表格数据", command=get_table_data).grid(row=height+1, column=0, columnspan=2)
window.mainloop()

你提到的表格效果图如下:
表格效果展示图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:45:09