qgis python-paketin kansioon (C:\OSGeo4W\apps\qgis-ltr\python\qgis) pitää lisätä py.typed tiedosto, jotta mypy tarkistaa tyypitykset oikein.
QGIS sanoo, että esim. iface.mapCanvas() palauttaa Optional[QgsMapCanvas], eli voi teoriassa olla myös None, jolloin mypy antaa virheitä Item "None" of "Optional[QgsMapCanvas]" has no attribute "mapToolSet" Mypy[union-attr]. Nyt lisäsin tarkastukset aina vastaaville tyyliin:
canvas = iface.mapCanvas()
if canvas is None:
raise UnexpectedNoneError
canvas.mapToolSet.connect(self.templater.digitize_map_tool.deactivate)
Riittäisikö, jos vaan luottaisi, että canvas on aina olemassa ja lisäisi vain ignoren:
qgis
python-paketin kansioon (C:\OSGeo4W\apps\qgis-ltr\python\qgis
) pitää lisätäpy.typed
tiedosto, jotta mypy tarkistaa tyypitykset oikein.QGIS sanoo, että esim.
iface.mapCanvas()
palauttaa Optional[QgsMapCanvas], eli voi teoriassa olla myösNone
, jolloin mypy antaa virheitäItem "None" of "Optional[QgsMapCanvas]" has no attribute "mapToolSet" Mypy[union-attr]
. Nyt lisäsin tarkastukset aina vastaaville tyyliin:Riittäisikö, jos vaan luottaisi, että canvas on aina olemassa ja lisäisi vain ignoren: