[英]Tkinter with matplotlib - Why is frame not drawing?
我正在嘗試使用嵌入在 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 時更輕松地添加更多元素。
看起來你忘記布置框架了。 將此添加到最后:
pie_frame.pack()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.