Обновление изображения в tkinter из списка выбора - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть программа, которая заполняет 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...