May-16-2022, 05:53 AM
(May-16-2022, 02:40 AM)menator01 Wrote: You might can use this approach
import tkinter as tk class Window: def __init__(self, parent): self.slidervar = tk.IntVar() self.slider = tk.Scale(parent, from_=1, to=10, orient='horizontal') self.slider['variable'] = self.slidervar self.slider.pack() self.button = tk.Button(parent) self.button['text'] = 'Open Window' self.button.pack() class TopWindow: def __init__(self): window = tk.Toplevel(None) window.geometry('200x200+500+300') self.label = tk.Label(window) self.label.pack() class Controller: def __init__(self, window): self.window = window self.window.button['command'] = self.openwindow self.window.slider['command'] = self.update def openwindow(self): self.topwindow = TopWindow() self.topwindow.label['text'] = self.window.slidervar.get() def update(self, event): self.topwindow.label['text'] = self.window.slidervar.get() if __name__ == '__main__': root = tk.Tk() root.geometry('200x200+250+250') Controller(Window(root)) root.mainloop()
Thanks for your reply. Actually, I am a little bit new to tkinter. I remember I could show the values got from the slider in a wop-level window. But updating the plot instantly was my main problem. besides that, I don't really want to change my classes.