python - Tkinter Image 仅显示最后一张
问题描述
import mysql.connector
from inspect import *
from tkinter import *
from PIL import ImageTk,Image
mydb = mysql.connector.connect(
host = 'localhost',
user = 'ukhyun',
passwd = <something>
database = 'Messenger'
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM MEMBER")
a = mycursor.fetchall()
# a is below
# [(1, 'ukhyun', '1234', '하욱현', '01024021051', 'hyun4911@gmail.com', 'ukhyun.png'),
# (2, 'ukhyun1', '1234', '하욱현1', '01024021051', 'hyun4911@gmail.com', 'ukhyun1.png'),
# (3, 'ukhyun2', '1234', 'Jail', '01024021051', 'hyun4911@gmail.com', 'jail.png'),
# (4, 'ukhyun', '1234', 'welcome', '01024021051', 'hyun4911@gmail.com', 'welcome.png'),
# (5, 'ukhyun3', '1234', 'hello', '01024021051', 'hyun4911@gmail.com', 'hello.png')]
main = Tk()
main.configure(bg = 'white')
main.geometry('400x600+200+200')
f = Frame(main)
f.pack(fill=BOTH, side=TOP, expand=1)
Fs = []
for i in range(len(a)):
Fs.append(Frame(f,bg="black"))
Fs[-1].pack(fill = X)
path = "./img/"+a[i][6]
if(os.path.isfile(path)):
tmp = ImageTk.PhotoImage(Image.open(path).resize((35,35)))
Label(Fs[-1],image = tmp,bd=5).pack(side=LEFT,padx=10,pady=8)
main.mainloop()
我创建了一个信使程序。现在,我正在创建用户列表。但我有一个问题。
用户图片仅显示最后一张。
图片运行得很好。
我不知道为什么。
你能帮助我吗?
解决方案
推荐阅读
- artifactory - 我可以对现有的 Artifactory 访问令牌执行查询以了解它是如何创建的吗?
- python - Python中的插值要快得多?
- mariadb - 发送数据库邮件
- flutter - 单击其中任何一个时展开/折叠多个 ExpansionTile
- c# - 在流上使用 SeekOrigin.Begin 时不支持指定的方法
- .net-core - Dotnet Core 依赖注入,如何注册同一类的多个实例
- excel - 将时间转换为文本时如何保持格式
- node.js - Windows 10 上的 NVM:节点已安装但无法使用
- intellij-idea - 在 intellij 中禁用 -Werror 参数
- lucene - Lucene 查询多个字段