当m_serverClientControl在其线程上发出finishedRunning()时,如何判断在主线程中哪个槽首先/最后执行?在这样的情况下,插槽如何排队?我很困惑Qt如何在线程事件队列中放置插槽事件。我已经阅读了文档,但我仍然有点困惑。
connect( m_serverClientControl, SIGNAL( finishedRunning() ), m_serverClientControl, SLOT( deleteLater() ) );
connect( m_serverClientControl, SIGNAL( finishedRunning() ), this, SLOT( finishedRunningEmited() ) )
答案 0 :(得分:1)
来自Qt 4.7文档:
如果有多个插槽连接到一个信号,则插槽将是 按照他们连接的顺序依次执行, 当信号发出时。
http://doc.qt.io/archives/qt-4.7/signalsandslots.html#signals
因此,在您的情况下finishedRunningEmited()
应在deleteLater()
之后调用。