Менеджер геометрии сетки помещает виджеты в двухмерную таблицу. Главный виджет разбит на несколько строк и столбцов, и каждая «ячейка» в результирующей таблице может содержать виджет. Вы можете прочитать больше об этом здесь .
Чтобы ограничить количество используемых строк, вы можете просто отслеживать, где вы размещаете свои изображения.
import tkinter as tk
from PIL import Image, ImageTk
from urllib.request import urlopen
from io import BytesIO
root = tk.Tk()
#number of urls will be random
URL_list = ["urls","urls","urls"]
MAX_ROWS = 4
current_row = 0
current_column = 0
for url in URL_list:
u = urlopen(url)
raw_data = u.read()
u.close()
im = Image.open(BytesIO(raw_data))
photo = ImageTk.PhotoImage(im)
label = tk.Label(image=photo)
label.image = photo
label.grid(row = current_row, column = current_column)
current_row += 1
if (current_row >= 4):
current_column += 1
current_row = 0
root.mainloop()
Это позволит разместить ваши изображения в следующем порядке:
1 5 9
2 6 10
3 7 ...
4 8