是否在deleteLater()之前调用了所有Qt插槽?

是否在deleteLater()之前调用了所有Qt插槽?,qt,qt-signals,Qt,Qt Signals,当我运行以下代码时,将调用两个插槽: auto packet = new Packet(this); connect(packet, &Packet::packetFinished, this, [packet]() { qDebug() << "Slot 1 called."; packet->deleteLater(); }); connect(packet, &Packet::packetFinished, this,

当我运行以下代码时,将调用两个插槽:

auto packet = new Packet(this);
connect(packet, &Packet::packetFinished, this, [packet]()
{
    qDebug() << "Slot 1 called.";
    packet->deleteLater();
});
connect(packet, &Packet::packetFinished, this, [packet]()
{
    qDebug() << "Slot 2 called.";
});
emit packet->packetFinished();
调用给定信号的所有挂起插槽后,
deleteLater()
是否始终执行

关于,

根据

计划删除此对象。
当控件返回到事件循环时,对象将被删除

因此,会立即调用
deleteLater()
,但此时不会删除对象。如果有一个事件循环,并且在调用插槽之后没有事件,那么该对象将被删除

"Slot 1 called"
"Slot 2 called"