Is there a better way of deleting QCanvasItems? def erase(self): trash = QCanvas() for item in self.canvas.allItems(): item.setCanvas(trash) self.canvas.update() Cheers, Dustin