I use a multiple frame window from Steven M. Vascellaro example Switch between two frames in tkinter.
And I don't understand is it possible to use global variable, because each frame is destroyed every time it is changed. 1st (of 2 buttons) button at StartPage
is deactivated, if I click on 2nd button and go to PageOne
and do something there and return to StartPage 1st button must be activated.
If I declare global
in StartPage
class
_tkinter.TclError: invalid command name ".!startpage.!button2"
If I declare it in PageOne
class
NameError: name 'install_svc' is not defined
Not good idea, but I think about 3rd frame where I define buttons again.
EDIT1:
class MyGUI(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self._frame = None
self.switch_frame(StartPage)
self.geometry("400x300")
def switch_frame(self, frame_class):
"""Destroys current frame and replaces it with a new one."""
new_frame = frame_class(self)
if self._frame is not None:
self._frame.destroy()
self._frame = new_frame
self._frame.pack()
def quit_app(self):
self._frame.destroy()
self.destroy()
class StartPage(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
global install_svc
class PageOne(tk.Frame):
def __init__(self, parent):
tk.Frame.__init__(self, parent)
def entry_check(self,parent):
global install_svc