我正在创建一个包含tkinter
我希望每个列按顺序包含文本a,b,c,d,e
:
我目前的代码如下:
from tkinter import *
root = Tk()
width = 5
defaultRow = ['a', 'b', 'c', 'd', 'e']
for j in range(width):
for l in defaultRow:
setText = StringVar()
b = Entry(root, textvariable=setText, state='readonly')
setText.set(l)
b.grid(row=1, column=j)
root.mainloop()
然而,输出只是:
我的代码是不是要循环遍历列表并为l
中的下一个项目j
设置下一个项目的文字?
答案 0 :(得分:0)
您已在此处嵌套两个循环,但只想在一个列表上进行迭代。 要实现您的愿望,您只需要调整代码:
root = Tk()
defaultRow = ['a', 'b', 'c', 'd', 'E']
for j in range(len(defaultRow)):
setText = StringVar()
b = Entry(root, textvariable=setText, state='readonly')
setText.set(defaultRow[j])
b.grid(row=1, column=j)
root.mainloop()
使用嵌套循环,您将
column 1 -> set: "a"
column 1 -> set: "b"
column 1 -> set: "c"
column 1 -> set: "d"
column 1 -> set: "e"
column 2 -> set: "a"
column 2 -> set: "b"
...
导致所有列都有" e"最后