@@ -507,17 +507,23 @@ class NavigationToolbar2Tk(NavigationToolbar2, tk.Frame):
507507 Attributes
508508 ----------
509509 canvas : `FigureCanvas`
510- the figure canvas on which to operate
510+ The figure canvas on which to operate.
511511 win : tk.Window
512- the tk.Window which owns this toolbar
513-
512+ The tk.Window which owns this toolbar.
513+ pack_toolbar : bool, default: True
514+ If True, add the toolbar to the parent's pack manager's packing list
515+ during initialization with ``side='bottom'`` and ``fill='x'``.
516+ If you want to use the toolbar with a different layout manager, use
517+ ``pack_toolbar=False``.
514518 """
515- def __init__ (self , canvas , window ):
519+ def __init__ (self , canvas , window , * , pack_toolbar = True ):
516520 self .canvas = canvas
517521 # Avoid using self.window (prefer self.canvas.get_tk_widget().master),
518522 # so that Tool implementations can reuse the methods.
519523 self .window = window
520524 NavigationToolbar2 .__init__ (self , canvas )
525+ if pack_toolbar :
526+ self .pack (side = tk .BOTTOM , fill = tk .X )
521527
522528 def destroy (self , * args ):
523529 del self .message
@@ -582,7 +588,6 @@ def _init_toolbar(self):
582588 self .message = tk .StringVar (master = self )
583589 self ._message_label = tk .Label (master = self , textvariable = self .message )
584590 self ._message_label .pack (side = tk .RIGHT )
585- self .pack (side = tk .BOTTOM , fill = tk .X )
586591
587592 def configure_subplots (self ):
588593 toolfig = Figure (figsize = (6 , 3 ))
0 commit comments