So I got it....
Check it out and let me know if you have some suggestions for improvement.
Cheers...
Check it out and let me know if you have some suggestions for improvement.
Cheers...
try: import Tkinter as tk except ImportError: import tkinter as tk try: import ttk py3 = False except ImportError: import tkinter.ttk as ttk py3 = True from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg from matplotlib.figure import Figure import numpy as np def init(top, gui, *args, **kwargs): global w, top_level, root w = gui top_level = top root = top def destroy_window(): # Function which closes the window. global top_level top_level.destroy() top_level = None class App: def __init__(self, master): global top_level top_level = root root.geometry("826x862+639+123") root.title("interactive plot") self.TLabel1 = ttk.Label(root) self.TLabel1.place(relx=0.024, rely=0.023, height=24, width=83) self.TLabel1.configure(relief='flat') self.TLabel1.configure(text='''Input value''') ########################################################## ## Frame 1 ############################################### self.Frame1 = tk.Frame(root) self.Frame1.place(relx=0.012, rely=0.058, relheight=0.102 , relwidth=0.975) self.Frame1.configure(relief='groove') self.Frame1.configure(borderwidth="2") self.Frame1.configure(highlightcolor="black") self.Frame1.configure(width=805) self.Entry1_1 = tk.Entry(self.Frame1) self.Entry1_1.place(relx=0.025, rely=0.114,height=35, relwidth=0.124) self.Entry1_1.configure(highlightcolor="black") self.Entry1_1.configure(selectforeground="black") self.Entry1_1.insert(0,1) self.Entry1_1.bind("<Return>", self.updatePlot) ########################################################## ## Frame 2 ############################################### self.TLabel1_11 = ttk.Label(root) self.TLabel1_11.place(relx=0.024, rely=0.174, height=24, width=83) self.TLabel1_11.configure(relief='flat') self.TLabel1_11.configure(text='''Plot''') self.Frame2 = tk.Frame(root) self.Frame2.place(relx=0.012, rely=0.209, relheight=0.58, relwidth=0.969) self.Frame2.configure(relief='groove') self.Frame2.configure(borderwidth="2") self.Frame2.configure(relief='groove') self.Frame2.configure(highlightcolor="black") self.Frame2.configure(width=805) ########################################################## ## create plot with default values from Entry widget fig = Figure() self.subplot1 = fig.add_subplot(111) x = np.linspace(0,0.05,500) meanVal = float(self.Entry1_1.get()) y = meanVal*np.sqrt(2)*np.sin(2*np.pi*50*x) self.line, = self.subplot1.plot(x,y) self.subplot1.grid(True) self.subplot1.autoscale(enable=True) self.canvas = FigureCanvasTkAgg(fig, master=self.Frame2) self.canvas.draw() self.canvas.get_tk_widget().pack(side='top', fill='both', expand=1) ########################################################## ## Buttons ############################################### self.TButton_close = ttk.Button(root) self.TButton_close.place(relx=0.86, rely=0.951, height=25, width=96) self.TButton_close.configure(command=destroy_window) self.TButton_close.configure(takefocus="") self.TButton_close.configure(text='''Close''') def updatePlot(self, *args): x, y = self.line.get_data() meanVal = float(self.Entry1_1.get()) self.subplot1.cla() y = meanVal*np.sqrt(2)*np.sin(2*np.pi*50*x)**meanVal self.subplot1.plot(x,y) self.subplot1.grid(True) self.canvas.draw() if __name__ == '__main__': root = tk.Tk() app = App(root) init(root, app) root.mainloop()