如何使用网格移动图像?

时间:2017-05-17 13:50:36

标签: python python-3.x tkinter

我正在使用此代码在屏幕上显示图片+文字:

root = Tk()
for i in range(5):
    img = some_function_that_returns_ImageTk_PhotoImage()
    ls.append(img)
    panel = Label(root, image = img)
    txt = Label(root, text = str(1+i))
    panel.grid(row = 1, column = i)
    txt.grid(row = 1, column = i)
root.mainloop()

我显示了这5个图像+文本行,但我想要的是在每个图像之间留出一些空间。

  • 因此,我尝试将column值更改为2*i,但事实并非如此 救命。如果我仅更改了column中的panel值,则会排成一行 一个图像,然后一个文本等等,直到5 < 2*i然后它 回过头来依次排列图像 - 而不是我 预期
  • 然后,我尝试将column的{​​{1}}值更改为2*i。也没用。它实际上给出了与使用label & txt相同的结果。我在这里错过了什么?

1 个答案:

答案 0 :(得分:1)

设置网格时需要使用填充:

panel.grid(row = 1, column = i,padding=(5,5,5,5))

你将它用作一个元组,其中包含你在每个方向上所需的像素填充量,我通常将它们设置为与上面相同,但你可以四处玩,看看有什么用?