保存下一个程序的输入值

时间:2020-10-22 15:42:41

标签: python tkinter

非常感谢您的时间。我目前停留在以下几点:我已经用Tkinter开发了大约200个条目的GUI。 (为简化起见,我仅在下面提供一小部分)。但是这200个条目很少一次填写。通常,该程序的每个开始都填充50个条目。当程序关闭时,这些填充的值将被删除,并且必须在再次启动程序后再次填充。有办法防止这种情况吗?

我不想在关闭程序时丢失在jobNameA_entry和jobNameB_entry中输入的值。

非常感谢。

import tkinter as tk

class Win1:
    

    def __init__(self, master):
        
        
        self.master = master
        self.master.title("Gap Assessment")
        self.topFrame = tk.Frame(self.master)
        self.topFrame.grid(row=0, column=0, sticky='news', ipady = 5)
        self.A_GapFrame = tk.Frame(self.master)
        self.B_GapFrame = tk.Frame(self.master)
        self.subframe_AGap()
        self.subframe_BGap()  
        
        # Create a Tkinter variable
        self.gapType = tk.StringVar(self.master)
        # Dictionary with optionsverschwinden
        self.choiceGap =  ['AFrame','BFrame']
        # self.choiceGap = sorted(self.choiceGap)
        self.gapType.set('') # set the default option
        self.ctngMenu = tk.OptionMenu(self.topFrame, self.gapType, *self.choiceGap, command=self.chioseGap_handle)
        self.ctngMenu.grid(row = 1, column =2)

    def chioseGap_handle(self, selected):
        
        if selected == 'AFrame':
            self.A_GapFrame.tkraise()
            # self.subframe_AGap()
            self.A_GapFrame.place(x=20, y=30, width = 210)
            self.B_GapFrame.place_forget()

            
        if selected == 'BFrame':
            self.B_GapFrame.tkraise()
            # self.subframe_BGap()
            self.B_GapFrame.place(x=30, y=70, width = 210)
            self.A_GapFrame.place_forget()


            
    def subframe_AGap(self):
            self.jobNameA_text = tk.StringVar()
            self.jobNameA_entry = tk.Entry(self.A_GapFrame, textvariable = self.jobNameA_text)
            self.jobNameA_entry.grid(row=1, column=0, sticky='news')
            self.jobNameA_text = tk.StringVar()
            self.jobNameA_entry = tk.Entry(self.A_GapFrame, textvariable = self.jobNameA_text)
            
    def subframe_BGap(self):
            
            self.jobNameB_text = tk.StringVar()
            self.jobNameB_entry = tk.Entry(self.B_GapFrame, textvariable = self.jobNameB_text)
            self.jobNameB_entry.grid(row=2, column=0, sticky='news') 
            self.jobNameB_text = tk.StringVar()
            self.jobNameB_entry = tk.Entry(self.B_GapFrame, textvariable = self.jobNameB_text)
        

        

root = tk.Tk()
root.geometry("200x300+50+50")
app = Win1(root)
root.mainloop()

0 个答案:

没有答案
相关问题