Удаление gif файла, подключенного в QMovie

Собственно. Есть лэйблы с разным содержимым(QPixmap, QMovie), пути к которому берутся из файлов и возможность их удаления. С QPixmap всё работает без нареканий, а вот удалять .gif файл не хочет - крашится. Дебаггер говорит, мол, разрешения нет - файл занят. Я так понял, что проблема в том, что он подключен в QMovie. Как можно решить это?

p.s И можно мнение по поводу метода удаления пути из файла - насколько корректен, не будет ли проблем с большим файлом и т.д

import sys, os
from PyQt5 import QtWidgets
from PyQt5.QtGui import QMovie, QPixmap
from PyQt5.QtWidgets import *

class MyWin(QWidget):
    def __init__(self):
        super().__init__()
        with open('path.txt', 'r', encoding='utf-8') as path:
            file = path.read()

        self.label = QLabel(self)
        self.movie = QMovie(file)
        self.label.setMovie(self.movie)
        self.movie.start()

        button = QPushButton('Push me', self)
        button.setGeometry(200, 350, 100, 20)
        button.clicked.connect(lambda c, item=file : self.delete_item(item))
        self.resize(400, 400)

    def delete_item(self, item):
        os.remove(item)

        with open('path.txt', "r+", encoding='utf-8') as file1:
            f = file1.read()
            f = f.replace(item, '')
            print(f + 'fw')
            with open('path.txt', 'w', encoding='utf-8') as output:
                output.write(f)


if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    w = MyWin()
    w.show()

Ответы (0 шт):