Avec PyQGIS on fait souvent appel à l'élément RubberBand
en phase de test pour afficher un aperçu de ce que l'on calcule. Le problème c'est qu'il reste affiché d'une exécution du code à l'autre. C'est alors pratique d'une cette fonction, à lancer en début de script, pour nettoyer ces « élastiques » avant chaque nouveau lancement.
def removeRubberbands():
rbb_items = [ i for i in iface.mapCanvas().scene().items() if issubclass(type(i), qgis.gui.QgsRubberBand)]
for rbb in rbb_items:
if rbb in iface.mapCanvas().scene().items():
iface.mapCanvas().scene().removeItem(rbb)