我想创建一个GUI应用程序,在按下按钮时绘制图形。我想在tkinter窗口上有一个空图形,当你按下名为" Draw"的按钮时,程序应绘制图形。
我做了一个窗口,显示空图形和绘图按钮,但按下按钮时没有任何反应,我没有收到任何错误。你能帮我解决这个问题吗?
这是代码:
from tkinter import *
from tkinter import ttk
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg, NavigationToolbar2TkAgg
from matplotlib.backend_bases import key_press_handler
from matplotlib.figure import Figure
myApp = Tk()
myApp.title("Cost Analysis")
myApp.geometry("1900x1000")
X=[1,4,6,8,9]
Y=[3,5,7,8,10]
fprojektiTroskovi=Figure(figsize=(7, 4.5),dpi=83)
GrafikProjektiTroskovi=fprojektiTroskovi.add_subplot(111)
CanvasProjectsTroskovi=FigureCanvasTkAgg(fprojektiTroskovi, master=myApp)
CanvasProjectsTroskovi.show()
CanvasProjectsTroskovi.get_tk_widget().grid(row=30,column=0,sticky="wn",padx=5)
toolbar_FrameProjektiTroskovi=Frame(myApp)
toolbar_FrameProjektiTroskovi.grid(row=1,column=0,sticky="wn",padx=5)
ToolbarProjectsTroskovi = NavigationToolbar2TkAgg(CanvasProjectsTroskovi,toolbar_FrameProjektiTroskovi)
ToolbarProjectsTroskovi.update()
CanvasProjectsTroskovi._tkcanvas.grid(row=0,column=0,sticky="wn",padx=5,pady=5)
GrafikProjektiTroskovi.set_xlabel("Size")
GrafikProjektiTroskovi.set_ylabel("Costs")
GrafikProjektiTroskovi.set_title("All Projects (Size - Costs)")
GrafikProjektiTroskovi.grid()
def draw_graph():
GrafikProjektiTroskovi.plot(X, Y, color="blue",marker="o", linewidth=1, label="Planned Costs")
GrafikProjektiTroskovi.legend()
button=Button(myApp, text="Draw", command=draw_graph)
button.grid(row=0,column=1)
myApp.mainloop()