[英]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.