如何在python的tkinter中的网格中显示图像?

雷诺·伦

我想在python的tkinter中将照片插入网格中,然后以行和列显示这些照片。(行和列的数量取决于您输入的内容)

我尝试使用附加列表将图片插入列表,但是我只能显示它的一列。

from tkinter import *

w = Tk()

w.geometry('1000x800')

p = 'picture.png'

img = PhotoImage(file=p)

for i in range(0, 5):
    photo_list.append(Label(w, image=img))

for j in range(0, len(photo_list)):
    photo_list[j].pack()

我想同时在行和列中显示这些图片。例如,如果row = 3,column = 3,则输出应为:

[图片] [图片] [图片]

[图片] [图片] [图片]

[图片] [图片] [图片]

华伦天奴

尝试:

nr = 5 #number of rows
nc = 2 #number of columns

photo_list = []

for i in range(nr*nc):
    photo_list.append(Label(w, image=img))
    photo_list[-1].grid(row=i//nc, column=i%nc)

在这里,我使用了网格几何管理器,它比打包几何管理器更轻松地执行您想要的操作图像逐行放置。
grid接受两个称为的参数rowcolumn它们是理想情况下在容器表面绘制的2D网格中小部件的索引(从0开始)。tkinter可以自动确定网格的尺寸并管理尺寸。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章