Python 使用上一个会话Tkinter中的输入框数据
我需要用Tkinter创建一个GUI应用程序,它需要大量的文本字段条目。用户必须输入所有条目,然后使用“运行”按钮执行特定功能。我想做的是:包括一个功能,可以恢复用户从上一个会话输入的所有文本数据,这样用户就不必每次都反复输入所有数据。我可以使用entry_box.set(“所需字符串”)选项,但这是静态的,不考虑以前的GUI会话 例如,在以下脚本中:Python 使用上一个会话Tkinter中的输入框数据,python,tkinter,tkinter-entry,Python,Tkinter,Tkinter Entry,我需要用Tkinter创建一个GUI应用程序,它需要大量的文本字段条目。用户必须输入所有条目,然后使用“运行”按钮执行特定功能。我想做的是:包括一个功能,可以恢复用户从上一个会话输入的所有文本数据,这样用户就不必每次都反复输入所有数据。我可以使用entry_box.set(“所需字符串”)选项,但这是静态的,不考虑以前的GUI会话 例如,在以下脚本中: #!usr/bin/env python from Tkinter import * # Define input retrieve func
#!usr/bin/env python
from Tkinter import *
# Define input retrieve function for application input
def retrieve_text():
print(app_entry.get())
if __name__ == "__main__":
# Create window (or form)
app_win = Tk()
# Create label
app_label = Label(app_win, text="Enter value")
app_label.pack()
# Create entry box
app_entry = Entry(app_win)
app_entry.pack()
# Create button
app_button = Button(app_win, text="Print Value", command=retrieve_text)
app_button.pack()
# Initialize GUI loop
app_win.mainloop()
我运行这个GUI并在输入框中输入“Value1”。然后,我想关闭窗口,重新运行它,并在默认情况下显示条目“Value1”。每个会话都应显示上一个会话的值(该值仅在第一次手动输入)。有没有办法做到这一点
这将非常有用,因为在我的例子中,每次重新运行GUI时,用户只需更改大约10个字段中的一个或两个字段。在您的
main
中,添加一个处理程序来使用此命令关闭事件
app_win.protocol("WM_DELETE_WINDOW", handler)
现在,只要按下关闭按钮,就会调用函数handler
def handler():
f = open("backup", "w")
f.write(app_entry.get())
f.close()
app_win.quit()
现在,您可以修改程序以读取文件并在脚本重新启动时设置文本