update a variable in parent window after closing its toplevel window - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: update a variable in parent window after closing its toplevel window (/thread-2378.html) |
update a variable in parent window after closing its toplevel window - gray - Mar-12-2017 i want to update my variable in parent window when i close its toplevel window. i cretaed a function "new_window"...this function creates a new window(Demo2 class) ...demo2 is a sample of Demo2 class...the "demo2.destroyed" is a variable for understanding whether the toplevel window was closed or not.... i recieved this error " 'int' object is not iterable" why???? please help my code is: def new_window(self): demo2 = Demo2(self.master, self.var_sent) def check_demo2(): if demo2.destroyed: global fasele global counter counter += fasele self.tyLabel.config(text=str(counter)) else: self.master.after(100, check_demo2) check_demo2()] Moderator:
RE: update a variable in parent window after closing its toplevel window - merlem - Mar-12-2017 You could also consider to use the module 'Publisher'. Prepare a publisher in the toplevel window that sends a message in case of being destroyed (or a publisher at the same point where you give the command to destroy, if this is elsewhere) and a listener in your demo2. This will 'eavesdrop' continually. RE: update a variable in parent window after closing its toplevel window - gray - Mar-13-2017 (Mar-12-2017, 05:10 PM)merlem Wrote: You could also consider to use the module 'Publisher'. Prepare a publisher in the toplevel window that sends a message in case of being destroyed (or a publisher at the same point where you give the command to destroy, if this is elsewhere) and a listener in your demo2. This will 'eavesdrop' continually. this program understand when the toplevel window is closed...but the parent window (that is a class) can not update the value of the variable that gets from the toplevel window RE: update a variable in parent window after closing its toplevel window - merlem - Mar-13-2017 I'm not sure whether I really understand this problem. However, if the publisher is not a solution, it would be helpful to know in which line of your code the error occurs. I can't assing that until now. RE: update a variable in parent window after closing its toplevel window - nilamo - Mar-20-2017 If the window has a parent, then it isn't the toplevel window. RE: update a variable in parent window after closing its toplevel window - Larz60+ - Mar-20-2017 Quote:If the window has a parent, then it isn't the toplevel window This is true logically, but tkinter has a Toplevel window which can have a parent Toplevel(master=None, **options) (class) [#] example >>> zz = tk.Tk() >>> f1 = tk.Frame(zz) >>> t1 = tk.Toplevel(f1) >>> zz.mainloop()So here, the frame f1 is the parent of Toplevel t1 |