rendered paste bodyclass ThreadedDelete : public QThread
{
public:
void take(QObject *o)
{
ThreadedDelete* td = new ThreadedDelete;
td->deleteThreaded(o);
}
protected:
ThreadedDelete() : QThread() {};
~ThreadedDelete() { printf("~ThreadedDelete\n");}
deleteThreaded(QObject *o)
{
obj = o;
connect(this, SIGNAL(finished ()), SLOT(deleteLater ()));
obj->setParent(0); // unparent the target or the move will fail
obj->moveToThread(this);
start();
}
virtual void run()
{
printf("~ThreadedDelete run1\n";
delete obj;
printf("~ThreadedDelete run2\n";
}
protected:
QObject obj;
};