我有一个程序,该程序用文本文件中的信息填充7个文本框。文本文件的第一行列表是png,我需要将其与相应的信息一起显示。
到目前为止,该程序功能正常,并且顶部显示了初始图像。但是我在执行代码时遇到了问题,我需要用其余信息来更新图像。
根据我需要提供的信息,下面是三行内容,我无法弄清楚为什么它不能与程序的其余部分一起使用,要么告诉我徽标未定义,要么完全消失中断程序,没有错误。
logo.append(tk.PhotoImage(file="images/"+ lineList[0]))
lab8.configure(image=logo[len(logo)-1])
lab8.image= logo[len(logo)-1]
程序的其余部分:
import tkinter as tk
window = tk.Tk()
window.geometry("300x600")
window.title("Realtor INC.")
##
def displayItem(event):
line=lst1.get(lst1.curselection())
lineList=line.split(':')
txt1.delete(1.0,tk.END)
txt1.insert(tk.END,lineList[0])
txt2.delete(1.0,tk.END)
txt2.insert(tk.END,lineList[1])
txt3.delete(1.0,tk.END)
txt3.insert(tk.END,lineList[2])
txt4.delete(1.0,tk.END)
txt4.insert(tk.END,lineList[3])
txt5.delete(1.0,tk.END)
txt5.insert(tk.END,lineList[4])
txt6.delete(1.0,tk.END)
txt6.insert(tk.END,lineList[5])
txt7.delete(1.0,tk.END)
txt7.insert(tk.END,lineList[6])
##logo
logo=[]
logo.append(tk.PhotoImage(file="logo.png"))
lab8=tk.Label(image=logo[0])
lab8.grid(column=0,row=0, columnspan=2)
txt1=tk.Text(width=20, height=1)
txt2=tk.Text(width=20, height=1)
txt3=tk.Text(width=20, height=1)
txt4=tk.Text(width=20, height=1)
txt5=tk.Text(width=20, height=1)
txt6=tk.Text(width=20, height=1)
txt7=tk.Text(width=20, height=1)
lab1=tk.Label(text="House Image Name")
lab2=tk.Label(text="Price")
lab3=tk.Label(text="Number of Bedrooms")
lab4=tk.Label(text="Number of Bathrooms")
lab5=tk.Label(text="Location")
lab6=tk.Label(text="Square Feet")
lab7=tk.Label(text="Availability")
lst1=tk.Listbox(height=10, width=40)
lab1.grid(column=0, row=1), txt1.grid(column=1, row=1)
lab2.grid(column=0, row=2), txt2.grid(column=1, row=2)
lab3.grid(column=0, row=3), txt3.grid(column=1, row=3)
lab4.grid(column=0, row=4), txt4.grid(column=1, row=4)
lab5.grid(column=0, row=5), txt5.grid(column=1, row=5)
lab6.grid(column=0, row=6), txt6.grid(column=1, row=6)
lab7.grid(column=0, row=7), txt7.grid(column=1, row=7)
lst1.grid(column=0, row=10, columnspan=2)
infile = open("houses.txt", 'r')
for line in infile:
##print(line, end="")
lst1.insert(tk.END, line)
infile.close()
lst1.bind("<<ListboxSelect>>", displayItem)
window.mainloop()