Qt中一个类moveToThread后,线程结束后如何自动析构?

定义一个A类,集成QObject

class A : public QObject{
    Q_ObJECT
public:
    ~A(){
        qDebug()<<"~a";
    }
public slots:
    void start(){
        //耗时操作
        emit finish();
    }
signals:
    void finish();
}

在main函数中

A a = new A;
QThread t = new QThread(0);
a.moveToThread(t);
connect(t,&QThread::started,a,&A::start);
connect(a,&A::workFinished,t,&QThread::quit);
connect(t,&QThread::finished,t,&QObject::deleteLater);

这样的话,线程退出后,并没有打印出类A析构的信息。请问如何析构一个加到线程中的类?

A *a = new A;
QThread *t = new QThread;
a->moveToThread(t);
connect(t, SIGNAL(started()), a, SLOT(start()));
connect(a, SIGNAL(finish()), a, SLOT(deleteLater()));
connect(a, SIGNAL(destroyed()), t, SLOT(quit()));
connect(t, SIGNAL(finished()), t, SLOT(deleteLater()));

a在销毁后是会发出destroyed()信号的,a完成后可以先让a销毁,然后a发出销毁的信号后t再退出,t退出完毕后销毁。这样就可以了。