Wyświetlanie paska nawigacyjnego Matplotlib w Tkinter za pomocą siatki

Opracowuję mały GUI Tkintera do rysowania wykresów matplotlib. (Zawiera kilka wpisów i montuje fabułę zgodnie z ich treścią).

Zaprojektowałem mój widżet kreślący zgodnie zhttp://matplotlib.org/examples/user_interfaces/embedding_in_tk.html, tylko ja używam siatki zamiast paczki:

canvas = FigureCanvasTkAgg(fig, master=root)
canvas.get_tk_widget().grid(row=1,column=4,columnspan=3,rowspan=20)

Ta część działa. Ale osadzanie NavigationToolbar w ten sam sposób nie. Tkinter załamuje się bez błędu, gdy dołączam linie:

toolbar = NavigationToolbar2TkAgg( canvas, root )
canvas._tkcanvas.grid(row=22,column=4)

Wiem, że to dlatego, że NavigationToolbar dzwonipack wewnętrznie ipack igrid nie dogaduj się. Jednakże, jalubić i nie chciałbym przeprojektowywać całego mojego GUI, żeby móc korzystać z paska nawigacyjnego.

Czy istnieje obejście problemu, więc mogę użyć NavigationToolbar2TkAgg za pomocą siatki? (Znalazłem radę „podklasa i przeciążenie”tutaj, ale nie wiem jak to zrobić.)

Każda pomoc jest bardzo ceniona!

questionAnswers(2)

yourAnswerToTheQuestion