Jul-29-2020, 04:41 PM
Moved
self.subframe_AGap()
& self.subframe_BGap()
from hioseGap_handle
to the __init__
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) self.subframe_AGap() self.subframe_BGap() # 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.A_GapFrame.grid(row=2, column=0, sticky='news') if selected == 'BFrame': self.B_GapFrame.tkraise() 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()