【发布时间】:2012-10-06 12:04:23
【问题描述】:
我正在开发一个小型 Tkinter GUI 来绘制 matplotlib-plots。 (它包含一些条目并根据其内容组装情节。)
我根据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 相处不来。但是,我喜欢网格,并且不想为了能够使用 NavigationToolbar 而不得不重新设计我的整个 GUI。
是否有解决方法,以便我可以通过网格使用 NavigationToolbar2TkAgg? (我找到了“子类和重载”here 的建议,但不知道该怎么做。)
非常感谢任何帮助!
【问题讨论】:
标签: grid matplotlib tkinter