11import os
22from pathlib import Path
3- from typing import List , Optional , Tuple
3+ from typing import Optional
44
55import matplotlib
66import matplotlib .style as mplstyle
77import napari
8- from matplotlib .backends .backend_qtagg import (
9- FigureCanvas ,
8+ from matplotlib .backends .backend_qtagg import ( # type: ignore[attr-defined]
9+ FigureCanvasQTAgg ,
1010 NavigationToolbar2QT ,
1111)
1212from matplotlib .figure import Figure
@@ -49,12 +49,10 @@ def __init__(
4949
5050 # Sets figure.* style
5151 with mplstyle .context (self .mpl_style_sheet_path ):
52- self .canvas = FigureCanvas ()
52+ self .canvas = FigureCanvasQTAgg () # type: ignore[no-untyped-call]
5353
5454 self .canvas .figure .set_layout_engine ("constrained" )
55- self .toolbar = NapariNavigationToolbar (
56- self .canvas , parent = self
57- ) # type: ignore[no-untyped-call]
55+ self .toolbar = NapariNavigationToolbar (self .canvas , parent = self )
5856 self ._replace_toolbar_icons ()
5957 # callback to update when napari theme changed
6058 # TODO: this isn't working completely (see issue #140)
@@ -97,7 +95,7 @@ def add_single_axes(self) -> None:
9795 # Sets axes.* style.
9896 # Does not set any text styling set by axes.* keys
9997 with mplstyle .context (self .mpl_style_sheet_path ):
100- self .axes = self .figure .subplots ()
98+ self .axes = self .figure .add_subplot ()
10199
102100 def _on_napari_theme_changed (self ) -> None :
103101 """
@@ -184,7 +182,7 @@ class NapariMPLWidget(BaseNapariMPLWidget):
184182 #: Number of layers taken as input
185183 n_layers_input = Interval (None , None )
186184 #: Type of layer taken as input
187- input_layer_types : Tuple [napari .layers .Layer , ...] = (napari .layers .Layer ,)
185+ input_layer_types : tuple [napari .layers .Layer , ...] = (napari .layers .Layer ,)
188186
189187 def __init__ (
190188 self ,
@@ -193,7 +191,7 @@ def __init__(
193191 ):
194192 super ().__init__ (napari_viewer = napari_viewer , parent = parent )
195193 self ._setup_callbacks ()
196- self .layers : List [napari .layers .Layer ] = []
194+ self .layers : list [napari .layers .Layer ] = []
197195
198196 helper_text = self .n_layers_input ._helper_text
199197 if helper_text is not None :
@@ -260,7 +258,7 @@ def _draw(self) -> None:
260258 isinstance (layer , self .input_layer_types ) for layer in self .layers
261259 ):
262260 self .draw ()
263- self .canvas .draw ()
261+ self .canvas .draw () # type: ignore[no-untyped-call]
264262
265263 def clear (self ) -> None :
266264 """
@@ -309,8 +307,8 @@ def clear(self) -> None:
309307class NapariNavigationToolbar (NavigationToolbar2QT ):
310308 """Custom Toolbar style for Napari."""
311309
312- def __init__ (self , * args , ** kwargs ): # type: ignore[no-untyped-def]
313- super ().__init__ (* args , ** kwargs )
310+ def __init__ (self , * args , ** kwargs ) -> None : # type: ignore[no-untyped-def]
311+ super ().__init__ (* args , ** kwargs ) # type: ignore[no-untyped-call]
314312 self .setIconSize (
315313 from_napari_css_get_size_of (
316314 "QtViewerPushButton" , fallback = (28 , 28 )
@@ -319,7 +317,7 @@ def __init__(self, *args, **kwargs): # type: ignore[no-untyped-def]
319317
320318 def _update_buttons_checked (self ) -> None :
321319 """Update toggle tool icons when selected/unselected."""
322- super ()._update_buttons_checked ()
320+ super ()._update_buttons_checked () # type: ignore[no-untyped-call]
323321 icon_dir = self .parentWidget ()._get_path_to_icon ()
324322
325323 # changes pan/zoom icons depending on state (checked or not)
0 commit comments