Я пишу Tkinter GUI в Python в режиме ожидания, и при запуске моего GUI я хочу, чтобы на первой странице отображалась фигура с жестко закодированной формой волны, показанной на рисунке. Когда пользователь GUI нажимает кнопку на странице, я, по сути, хочу построить другое уравнение. При создании кнопки, если у меня нет лямбды в разделе команд Tkinter.Button, тогда уравнение нажатия кнопки заполняет график. Если в секции команд у меня нет лямбды, то нажатие на кнопку ничего не меняет на рисунке. Пожалуйста, помогите мне разобраться, как заставить сюжет меняться в зависимости от нажатия кнопки.
class FirstPage(tk.Frame):
def __init__(self,parent,controller):
tk.Frame.__init__(self,parent)
self.controller = controller
##Label For this page
label = tk.Label(self,text = 'Data Input',font = TITLE_FONT)
label.pack(side = 'top',anchor = 'w',padx = 10,pady= 1)
##Button to go to next page
button1 = tk.Button(self, text="Go to FFT Page",
command=lambda: controller.show_frame("SecondPage"))
button1.pack(side = 'left', anchor = 'n', padx = 10,pady = 10)
##Adding figure that will show raw data
f_front = Figure(figsize = (12.92, 4.3), dpi = 80)
FirstPage.a = f_front.add_subplot(111)
canvas_f_front = FigureCanvasTkAgg(f_front,self)
canvas_f_front.get_tk_widget().place(relx = 0.02, rely = 0.55)
FirstPage.a.set_title('Raw Wav File',fontsize = 16)
FirstPage.a.set_xlabel('Samples',fontsize = 14)
FirstPage.a.set_ylabel('Amplitude',fontsize = 14)
self.Raw_Plotting(FirstPage.a)
button2 = tk.Button(self, text="Go to FFT Page",
command = lambda: self.File_Button_Push(FirstPage.a))
button2.pack(side = 'right', anchor = 'n', padx = 10,pady = 10)
def Raw_Plotting(self, subplot):
n = np.arange(0,10000)
tS = 1/44100;
x = 1*np.cos(2*np.pi*100*np.dot(tS,n))+2*np.cos(2*np.pi*90*np.dot(tS,n))
subplot.plot(x)
def File_Button_Push(self, subplot):
n = np.arange(0,10000)
x = n * 1
subplot.plot(x)