Ich verwende ein benutzerdefiniertes Widget, das von QWidget
erbt. Dieses Widget kann eine Online-Ressource verwenden: ein Bild, das ich aus dem Internet herunterladen und in einer lokalen Datei speichern kann, bevor es in einer QLabel
Instanz angezeigt wird.PyQt QWidget Destruktor Fehler `AttributError: 'NoneType' Objekt hat kein Attribut 'Pfad'`
Wenn der Benutzer schließt das Fenster ich die lokale Datei gelöscht werden mag, so änderte ich den destructor:
def __del__(self):
if os.path.isfile(self.pictureFilename):
os.remove(self.pictureFilename)
ich habe:
import os
am Anfang meines Skripts. Seltsamerweise, wenn die Hauptanwendung schließt erhalte ich die Fehlermeldung:
Traceback (most recent call last):
File "/home/XXX/XXX/XXX.py", line 103, in del
AttributeError: 'NoneType' object has no attribute 'path'
Es sieht aus wie die Bibliothek Müll vor dem Destruktor aufgerufen wird, gesammelt wird. Ich sehe nicht, wie ich das beheben kann.
Und Zeile 103 ist der 'os.path.isfile()' Anruf oben? – Suever
@Suever: genau –
Können Sie uns ein wenig mehr Code geben, den wir ausführen können, um das Verhalten zu reproduzieren? – Suever