【问题标题】:tkinter, How to get value from 2D entry widget?tkinter,如何从 2D 条目小部件中获取价值?
【发布时间】:2021-03-05 19:24:47
【问题描述】:

我需要访问二维条目的值,因此我使用列表列表来包含所有小部件。代码如下所示。它生成一个简单的 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()

【问题讨论】:

    标签: python tkinter 2d tkinter-entry getvalue


    【解决方案1】:

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

    for i in range(2):
        row=[]  #list used to store a row
        for j in range(3):
            ...
    

    【讨论】:

    • 非常感谢!我怎么错过了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-27
    • 2023-03-05
    • 1970-01-01
    • 2013-01-15
    • 2023-03-22
    • 2022-12-08
    相关资源
    最近更新 更多