Восстановите входные данные атрибутов предыдущего сеанса в tkinter

#python #tkinter

Вопрос:

Есть ли способ восстановить те же атрибуты предыдущего сеанса в tkinter ? например: наличие одной кнопки для восстановления атрибутов предыдущего сеанса

Есть ли способ установить значение inputtxt в значение?

 def restore():
file1 = open('user.txt', 'r')
Lines = file1.readlines()
unverified_file = Lines[0]
**inputtxt1.set(unverified_file)**
 

Ошибка атрибута: объект «Текст» не имеет атрибута «набор»

Комментарии:

1. Что такое предыдущая сессия ?

2. графический интерфейс после его закрытия

3. например: если я набрал A ,B ,C в текстовых полях 1,2,3 и закрыл графический интерфейс. Я хочу использовать те же самые A,B,C в следующий раз, если нажму на кнопку восстановить

4. Сохраните результаты в текстовом файле. Когда в следующий раз будет нажата кнопка «Восстановить», считайте из этого файла.

5. Не могли бы вы привести пример, пожалуйста? в коде

Ответ №1:

Глядя на ваш обновленный код, вам insert это не нужно set . Но сначала удалите запись —

 def restore():

    file1 = open('user.txt', 'r')
    Lines = file1.readlines()
    unverified_file = Lines[0]
    inputtxt1.delete(0,'end')
    inputtxt1.insert('end',unverified_file)
 

Кроме того, взгляните на этот пример —

 import tkinter as tk

root = tk.Tk()

def save():
    a = entry1.get()
    b = entry2.get()
    
    with open('1.txt','w') as f:
        f.write(a)
        f.write('n')
        f.write(b)

def restore():
    with open('1.txt','r') as f:
        text = f.read().split('n')

    entry1.insert('end',text[0])
    entry2.insert('end',text[1])

entry1 = tk.Entry(root)
entry1.pack()

entry2 = tk.Entry(root)
entry2.pack()

button1 = tk.Button(root,text='Save Results',command=save)
button1.pack()

button2 = tk.Button(root,text='Restore Previous Results',command=restore)
button2.pack()

root.mainloop()