[英]Integrating plot in tkinter giving update idletasks error
我正在嘗試創建一個超級簡單的GUI並在其上集成繪圖。 我設法整合了情節,但出現錯誤:
AttributeError: 'NoneType' object has no attribute 'update_idletasks'
這個問題是關於問題的,但是答案並沒有真正解決更新閑置任務的問題。
我的代碼非常簡單,網格中只有兩個標簽,我不想在第三行中繪圖。
from tkinter import Label, Tk
import matplotlib.pyplot as plt
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
class MyGUI:
def __init__(self):
self.window = Tk()
self.window.geometry('420x400')
self.populate_elements()
self.window.mainloop()
def populate_elements(self):
Label(self.window, text="Hello").grid(column=0, row=0)
Label(self.window, text="My text").grid(column=0, row=1)
fig = plt.Figure(figsize=(2, 2), dpi=100)
ax = fig.add_subplot(111)
ax.plot([1, 2, 3, 4, 5, 6, 7, 8], [5, 6, 1, 3, 8, 9, 3, 5])
canvas = FigureCanvasTkAgg(fig)
canvas.get_tk_widget().grid(column=0, row=2)
if __name__ == '__main__':
MyGUI()
Matplotlib有一個有關在tk中嵌入的示例: https ://matplotlib.org/3.1.1/gallery/user_interfaces/embedding_in_tk_sgskip.html
如果堅持下去,您會發現需要使用
canvas = FigureCanvasTkAgg(fig, master=self.window)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.