【发布时间】:2020-11-19 22:20:51
【问题描述】:
我正在尝试使用嵌入在 tkinter 中的 matplotlib 显示饼图。这是类声明:
class Graph:
def __init__(self, data, directory, scan_date, frame):
self.data = data
self.directory = directory
self.scan_date = scan_date
self.frame = frame
def pie_chart(self):
# try:
# self.canvas.get_tk_widget().pack_forget()
# except AttributeError:
# pass
piechart = graphs.make_pie_chart(self.data, self.directory, self.scan_date)
self.canvas = FigureCanvasTkAgg(piechart, master=self.frame)
self.canvas.draw()
self.canvas.get_tk_widget().pack()
这里是实例化的地方:
def scan_and_display(directory):
# runs the main scan function
data, scanDate = main(directory)
pie_frame = Frame(root, height=700, width=700)
graph1 = Graph(data, directory, scanDate, pie_frame)
graph1.pie_chart()
在self.canvas = FigureCanvasTkAgg(piechart, master=self.frame) 行中,如果我将master 更改为root,它可以工作。但我想将它嵌入到它的框架中,以便在继续构建 GUI 时更轻松地添加更多元素。
【问题讨论】:
标签: python matplotlib tkinter