Jul-29-2020, 04:08 PM
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.C_GapFrame = tk.Frame(self.master) self.E_GapFrame = tk.Frame(self.master) self.F_GapFrame = tk.Frame(self.master) self.K_GapFrame = tk.Frame(self.master) # Create a Tkinter variable self.gapType = tk.StringVar(self.master) # Dictionary with options 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.grid(row=2, column=0, sticky='news') if selected == 'BFrame': self.B_GapFrame.tkraise() self.subframe_BGap() self.B_GapFrame.grid(row=2, column=0, sticky='news') 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') 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') root = tk.Tk() root.geometry("+50+50") app = Win1(root) root.mainloop()Thank you for your attention. You can see my problem when you run this code. You will see that, if you enter something in the Entry and then select in the OptionMenue another Frame, you will see that the Entry is empty when you go back to the first Frame.