Python 如何创建tkinter项目动态?

Python 如何创建tkinter项目动态?,python,math,tkinter,Python,Math,Tkinter,我有两张表格。第一个有两个入口。我想在第二种形式上创建一个矩阵。矩阵的大小取决于用户给出的内容。我的意思是当用户提供4x5尺寸时。它将创建20个条目和20个标签。这可能吗?我目前的代码是: from Tkinter import * frx=Tk() frx.title("login") frx.geometry("200x200") def openm(): fr=Toplevel() fr.title('aafaf') fr.geometry('400x400') lb

我有两张表格。第一个有两个入口。我想在第二种形式上创建一个矩阵。矩阵的大小取决于用户给出的内容。我的意思是当用户提供4x5尺寸时。它将创建20个条目和20个标签。这可能吗?我目前的代码是:

from Tkinter import *

frx=Tk()
frx.title("login")
frx.geometry("200x200")

def openm():
  fr=Toplevel()
  fr.title('aafaf')
  fr.geometry('400x400')

  lb=Label (fr, text="1.1:", font="Times 12 bold")
  lb.grid(row=0, column=0)
  e11=Entry(fr, width=4, font="Times 12 bold")
  e11.grid (row=0, column=1)
  lb=Label (fr, text="1.2:", font="Times 12 bold")
  lb.grid(row=0, column=2)
  e12=Entry(fr, width=4, font="Times 12 bold")
  e12.grid (row=0, column=3)
  lb=Label (fr, text="1.3:", font="Times 12 bold")
  lb.grid(row=0, column=4)
  e13=Entry(fr, width=4, font="Times 12 bold")
  e13.grid (row=0, column=5)
e21=Entry(frx, width=4, font="Times 12 bold")
e21.grid (row=1, column=1)
lb=Label (frx, text="X", font="Times 12 bold")
lb.grid(row=1, column=2)
e22=Entry(frx, width=4, font="Times 12 bold")
e22.grid (row=1, column=3)
Button(frx, text="ok",command=openm).place(x=100,y=150)

如果要单独引用每个小部件,最简单的选择是使用字典:

widgets = {}
for i in range(4):
    for j in range(5):
        widgets[i,j] = Entry(...)

有一件事我不明白,4x5矩阵只输出9项。怎么做?@Lafexlos我错了。应该是20年了,我试着用列表做同样的事情。但是当我尝试获取条目的值时,它给出了与dic相同的错误。我的意思是widgets[o,h]=Entry(fr,width=4,font=“Times 12 bold”)。grid(row=o,column=2*h+1)给出的“NoneType”对象没有属性“get”@user3780965:尝试搜索此站点以查找该错误。它已经被问了很多次,并得到了回答。