Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 用于循环计数器的Tkinter_Python_Loops_User Interface_For Loop_Tkinter - Fatal编程技术网

Python 用于循环计数器的Tkinter

Python 用于循环计数器的Tkinter,python,loops,user-interface,for-loop,tkinter,Python,Loops,User Interface,For Loop,Tkinter,Python2.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.p

Python2.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...
我在找这样的东西:

  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...

Iv'e尝试了while循环,并创建了两个单独的for循环,但两个循环都不起作用,可能是我做得不对。如果有人能帮我,那就太好了。谢谢

您必须
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
而不是
计数器

,您必须
将每个小部件打包到窗口的不同边缘。这可以通过
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
而不是
计数器

您的数据是一个表格,因此
网格
是放置标签的最佳方法:

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)

您的数据是一个表格,因此
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)

所以我尝试了这个,但是窗户似乎停止了反应,然后因为某种原因崩溃了,知道为什么吗?不,我不知道为什么。这段代码本身就很好,而且您没有提供一个可以复制和调查您看到的错误的方法。以前的代码基本上只是一个标题页,上面有一个按钮。当我点击按钮时,它会打开这个新窗口,其中包含定义的鞋子列表。这个新窗口上唯一的东西是一个图像和一个循环。好吧,我一直在玩你的代码,奇怪的是,网格不知何故设法使正在创建的新窗口崩溃。
grid()
非常流行,并且工作可靠。你正在做的其他事情(你还没有显示)导致了问题。所以我尝试了这个方法,但窗口似乎停止了响应,然后由于某种原因崩溃,知道为什么吗?不,我不知道为什么。这段代码本身就很好,而且您没有提供一个可以复制和调查您看到的错误的方法。以前的代码基本上只是一个标题页,上面有一个按钮。当我点击按钮时,它会打开这个新窗口,其中包含定义的鞋子列表。这个新窗口上唯一的东西是一个图像和一个循环。好吧,我一直在玩你的代码,奇怪的是,网格不知何故设法使正在创建的新窗口崩溃。
grid()
非常流行,并且工作可靠。您正在做的其他事情(您仍然没有显示)正在导致问题。我不建议将几何体管理链接到小部件创建上,因为这样以后您就不再有对原始小部件的引用以供以后重新配置。我不建议将几何体管理链接到小部件创建上,因为这样您就不再有对原始小部件的引用以供以后重新配置。