python-3.x tkinter按钮未正确网格化

pcww981p  于 2022-12-30  发布在  Python
关注(0)|答案(1)|浏览(152)

我纠结于python tkinter的问题。当我使用for循环来网格化按钮时,它们的网格不正确。下面是for循环:

c=0
r=0
    for i in range(len(e)):
       if c==8:
           r+=1
           c=0  
       else:
           c+=1
       e[i].grid(column=c,row=r)
       c+=1

这是处理后的图像(全屏&全图):

我期待按钮是8个最大在每一行,并在8个按钮后,下一个将在下一行。

wgmfuz8q

wgmfuz8q1#

正确的逻辑如下:

c = r = 0
for i in range(len(e)):
    e[i].grid(column=c, row=r)
    c += 1
    if c == 8:
        r += 1
        c = 0

但是可以通过使用divmod()来简化:

for i in range(len(e)):
    r, c = divmod(i, 8)
    e[i].grid(column=c, row=r)

相关问题