Apr-24-2019, 05:31 PM
Use class'es, widgets can be accessed as attributes of the class
import tkinter as tk class RecordOpenWhichFrame(tk.Toplevel): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.resizable(0, 0) self.geometry('300x100+800+40') self.title('Open a record') # self.tk.call('wm', 'iconphoto', # self._w, tk.PhotoImage(file='resources/part.png')) self.entrcrd = tk.Entry( self, relief='groove', width=12, font=('Tahoma', '7')) self.entrcrd.place(x=205, y=18) btnopen = tk.Button(self) btnopen.place(x=205, y=40) btnopen.configure(text='Open Record', width=9, font=('Tahoma', '7')) btnexit = tk.Button(self) btnexit.place(x=205, y=60) btnexit.configure(text='Exit', width=9, font=('Tahoma', '7')) btnopen.configure(command=self.record_to_open) btnexit.configure(command=self.destroy) def record_to_open(self): rcrd = self.entrcrd.get() RecordOpenFrame(rcrd=rcrd) self.destroy() class RecordOpenFrame(tk.Toplevel): def __init__(self, *args, **kwargs): rcrd = kwargs.pop('rcrd') super().__init__(*args, **kwargs) self.geometry('300x100+800+40') self.title(rcrd) if __name__ == '__main__': app = tk.Tk() main_window = tk.Frame(app) RecordOpenWhichFrame(main_window) app.mainloop()