我正在开发一个小的Tkinter GUI来绘制matplotlib图。 (它包含一些条目,并根据其内容组装情节。)
我根据设计了我的绘图小部件 http://matplotlib.org/examples/user_interfaces/embedding_in_tk.html,只有我使用网格而不是包:
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().grid(row=1,column=4,columnspan=3,rowspan=20)
那部分有效。但是以相同的方式嵌入NavigationToolbar却没有。当我包含这些行时,Tkinter会在没有错误的情况下崩溃:
toolbar = NavigationToolbar2TkAgg( canvas, root )
canvas._tkcanvas.grid(row=22,column=4)
我知道这是因为NavigationToolbar调用 pack
内部,和 pack
和 grid
不要相处。但是,我 喜欢 网格并且不愿重新设计我的整个GUI只是为了能够使用NavigationToolbar。
有解决方法,所以我可以通过网格使用NavigationToolbar2TkAgg吗? (我找到了“子类和重载”的建议 这里,但不知道该怎么做。)
任何帮助非常感谢!