Python 2.7,Tkiner。 所以基本上我确实有一个包含10个项目的列表,但我想为这些项目编号,所以我创建了这个代码:
counter = 0
for i in range(10):
digits = Label(new_window, text = counter + 1)
shoes_label = Label(new_window, text = list_of_shoes[counter])
counter = counter + 1
digits.pack()
shoes_label.pack()
new_window.mainloop()
这会产生如下内容:
1
shoe_1
2
shoe_2
3
shoe_3
4
shoe_4
5
shoe_5
...etc..
我正在寻找类似的东西:
1) Shoe_1
2) Shoe_2
3) Shoe_3
4) Shoe_4
5) Shoe_5
...etc...
我尝试了循环,并创建了2个单独的for循环,但似乎都不起作用,它可能只是我做错了。如果有人可以帮助我,这将是很好的。谢谢。
答案 0 :(得分:2)
您必须将pack()
每个窗口小部件放入窗口的不同边缘。这对于pack()
是可行的,但为方便起见,您可能希望切换到grid()
:
for i in range(10):
digits = Label(new_window, text=str(i+1))
shoes_label = Label(new_window, text=list_of_shoes[i])
digits.grid(row=i, column=0)
shoes_label.grid(row=i, column=1)
new_window.mainloop()
请注意,您只能使用i
代替counter
。
答案 1 :(得分:0)
您的数据是一个表格,因此grid
是定位标签的最佳方法:
for counter, shoe in enumerate(list_of_shoes):
Label(new_window, text=counter+1).grid(row=counter, column=0)
Label(new_window, text=shoe).grid(row=counter, column=1)