#include #include class MyClass: public QObject { Q_OBJECT protected slots: void run() { QObject *obj = new QObject; obj->deleteLater(); QEventLoop loop; loop.exec(); } }; int main(int argc, char **argv) { QCoreApplication app(argc, argv); MyClass mc; QMetaObject::invokeMethod(&mc, "run", Qt::QueuedConnection); app.exec(); } #include "main2.moc"