Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
update a variable in parent window after closing its toplevel window
#1
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:
added opening python code tag :-)
Quote
#2
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.
Quote
#3
(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
Quote
#4
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.
Quote
#5
If the window has a parent, then it isn't the toplevel window.
It's dangerous to go alone!  Take this: https://docs.python.org/3/library/index.html

Currently #4 in both post count, and rep. wavic and buran, I'm coming for you...
Quote
#6
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
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  [WxPython] Search window position in Trelby blackclover 20 511 May-07-2018, 05:08 AM
Last Post: blackclover
  Gi module window freezing problem loss 0 74 May-05-2018, 04:42 PM
Last Post: loss
  tkinter button acts normal ONLY after clicking off the window justin_m 8 198 Apr-24-2018, 06:14 AM
Last Post: Larz60+
  pyqt main window refresh poblems duende 0 126 Apr-13-2018, 05:05 PM
Last Post: duende
  Using a class to create instances of Tkinter Toplevel() windows nortski 2 157 Mar-27-2018, 11:44 AM
Last Post: nortski
  Launch pdf and close on delete window event ashtona 6 266 Mar-22-2018, 03:04 PM
Last Post: ashtona
  [PySide2][PyQt5] update QTableView cpuin 0 172 Mar-07-2018, 10:20 PM
Last Post: cpuin
  [PyQt] textEdit Update error ? Bytelli 0 120 Feb-21-2018, 12:00 PM
Last Post: Bytelli
  How Can I Do Refresh Window? satrancali 0 185 Feb-03-2018, 07:50 AM
Last Post: satrancali
  [Tkinter] my simple window code is not working antonmichel 8 363 Jan-29-2018, 06:24 PM
Last Post: Larz60+

Forum Jump:


Users browsing this thread: 1 Guest(s)