【发布时间】:2015-11-18 11:25:52
【问题描述】:
(我使用的是 Python 3.5。)
我创建了一个 5x5 网格,并希望从某个行/列获取输入。
我以前从未使用过 tkinter,而且我是编程新手。
我创建了显示按钮,所以每次用户按下它时,我都希望打印输入。问题是,由于我的两个 for 循环,它只打印出最后一个元素 44,因为那是循环完成的时间。
如何在不更改 for 循环的情况下获得所有输入?
sudoku = Tk()
def show_entry_fields():
print(name[r][i].get())
i = 0
for i in range(0,5):
for r in range(0,5)
name[r][i] = Entry(sudoku)
name[r][i].grid(row=r,column=i)
Button(sodoku, text='Quit', command=sodoku.quit).grid(row=5, column=1)
Button(sodoku, text='Show', command=show_entry_fields).grid(row=5, column=2)
sodoku.mainloop()
【问题讨论】:
-
这是因为您在每个循环中都替换了
name。这不是完整的代码,所以我不能具体告诉你如何以不同的方式解决这个问题,但也许将变量存储在 2D 列表或字典中。例如my_data[i][r] = Entry(sodoku)。 -
这就是我到目前为止所写的全部内容,因为我只是碰壁了。我尝试了您的建议(如果是您的建议),但表格没有任何行或列。