Как сохранить данные после закрытия окна? - PullRequest
2 голосов
/ 26 марта 2019

Я пытаюсь создать графический интерфейс на Python3 с tkinter.Пока у меня есть кнопка Главное окно и 'Test', которая открывает второе окно .Второе окно имеет кнопки ввода, метки, сохранения и закрытия.Когда вы вводите что-то в запись и нажимаете кнопку save, на ярлыке отображается текст, введенный вами в запись.Но после закрытия этого окна и его повторного открытия ярлык ничего не показывает.Как сделать так, чтобы этот ярлык отображал текст, набранный в последний раз перед закрытием?Например, я набираю 'Hi' в записи, нажимаю 'Save', затем нажимаю 'Close', затем я снова открываю это окно, и на ярлыке отображается 'Hi'

import tkinter as tk

def save_data(entry, t):
    t.config(text = entry.get())

def close_action(current_window):
    current_window.destroy()

def insertMainInfo():
    new_window = tk.Tk()
    new_window.geometry("307x131")
    new_window.title("TestWindow")

    test_entry = tk.Entry(new_window)
    test_entry.place(relx = 0.283, rely = 0.1, height = 24, width = 127)

    text = tk.Label(new_window)
    text.place(relx = 0.283, rely = 0.25, height = 24, width = 127)

    save_button = tk.Button(new_window, command = lambda: save_data(test_entry, text))
    save_button.place(relx=0.283, rely=0.45, height=24, width=127)
    save_button.configure(text = "Save")

    close = tk.Button(new_window, command = lambda: close_action(new_window))
    close.place(relx=0.283, rely=0.687, height=24, width=127)
    close.configure(text = "Close")

    new_window.mainloop()

if __name__ == '__main__':

    top = tk.Tk()
    top.geometry("307x131+557+330")
    top.resizable(width=False, height=False)
    top.title("MainWindow")

    new_window_button = tk.Button(top, command = insertMainInfo)
    new_window_button.place(relx=0.283, rely=0.687, height=24, width=127)
    new_window_button.configure(text = "Test")

    main_label = tk.Label(top)
    main_label.place(relx=0.033, rely=0.153, height=41, width=284)
    main_label.configure(text = "TestLabel")

    top.mainloop()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...