QThread konusunda yardıma ihtiyacım var

Herkese Selamlar,
Pyside2’de QThread ile bazı işlemleri iş parçacıklarına bölmek istiyorum. Malum iş parçacıklarına ayırmasam GUI üzerinde çalışacak koda göre uzun süreli tıkanma veya yanıt vermiyor gibi problemlere dönüşüyor. Bir kaç döküman okuyup uygulamaya çalıştım. Fakat beceremedim. Böyle bir hata alıyorum.

" QThread: Destroyed while thread is still running "

Kodum kısaca şu şekilde acaba nerede hata yapıyorum ?

import sys
import os
from PySide2.QtGui import QGuiApplication
from PySide2.QtQml import QQmlApplicationEngine
from PySide2.QtCore import *

class AThread(QThread):
    def run(self):
        count = 0
        while count < 5:
            time.sleep(1)
            print("Thread 1")
            count += 1

class MainWindow(QObject):
    def __init__(self):
        QObject.__init__(self)
        self.startThread()

    def startThread(self):
        thread = AThread()
        thread.start()

if __name__ == "__main__":
    app = QGuiApplication(sys.argv)
    engine = QQmlApplicationEngine()
    main = MainWindow()
    engine.rootContext().setContextProperty("backend", main)
    engine.load(os.path.join(os.path.dirname(__file__), "main.qml"))

    if not engine.rootObjects():
        sys.exit(-1)
    sys.exit(app.exec_())