Я создаю приложение с tkinter, которое читает информацию из файла (автор, сообщение, имя изображения) и отображает его, как визуальную новеллу. Нажатие «продолжить» должно заменить текущую информацию информацией, хранящейся в другом (следующем) сообщении.
story.txt выглядит следующим образом:
Man_img ++ Джон ++ Меня зовут Джон!
Woman_img ++ Моника ++ Привет! Меня зовут Моника!
Вместо этого я получаю ошибку: текст остается неизменным, а изображение исчезает.
Код:
from tkinter import *
root = Tk()
s = open('story.txt', 'r+')
lines = s.read().splitlines()
s.close()
i=0
display = ''
speakervar = ''
textvar = ''
speaker = ''
text = ''
def next_scene():
global lines, display, i, label, photo, speakervar, textvar, speaker, text
line = lines[i]
values = line.split(' ++ ')
display = 'Images/'+ values[0] + '.png'
speakervar = values[1]
textvar = values[2]
photo = PhotoImage(file=display)
label = Label(root, image=photo)
speaker = Label(root, text=speakervar)
text = Label(root, text=textvar)
i+=1
next_scene()
continuebutton = Button(text="Continue", fg="black", command=next_scene)
photo = PhotoImage(file=display)
label = Label(root, image=photo)
speaker = Label(root, text=speakervar)
text = Label(root, text=textvar)
speaker.grid(column=0, row=1)
text.grid(column=0, row=2)
label.grid(column=0, row=0)
continuebutton.grid(column=0, row=3)
root.mainloop()