tkinter,如何从 2D 条目小部件中获取价值?

问题描述

我需要访问二维条目的值,因此我使用列表列表来包含所有小部件。代码如下所示。它生成一个简单的 2x3 数组作为实验。我的代码只能获取第一行的值。有人可以帮忙吗?谢谢!

import tkinter as tk
from tkinter import *  

class MyWindow:
    def __init__(self,master):
        row=[]  #list used to store a row
        for i in range(2):
            for j in range(3):
                self.ent=Entry()
                row.append(self.ent)
                self.ent.grid(row=i,column=j,sticky="nsew",padx=2,pady=2)
                self.ent.insert(END,str(i+j))
            row_list.append(row)
        self.b=Button(text="Print val",command=self.getValue)
        self.b.grid(row=21,column=1)
        
    def getValue(self):
        for i in range(2):
            for j in range(3):
                print(row_list[i][j].get())


row_list = []        # list of row

window=Tk()
mywin=MyWindow(window)
window.mainloop()

解决方法

您只能创建一行。您需要将 row 的初始化移动到最外层循环中,以便为 i

的每个值创建一个新行
for i in range(2):
    row=[]  #list used to store a row
    for j in range(3):
        ...