在Qt v4.5及更早版本中: 不会,可以在这里的文档中看到:如果一个信号连接了多个槽函数,当信号被发射时,这些槽函数将按照任意顺序依次执行。编辑: 从4.6版本开始,这不再是真的了。现在,这些槽函数将按照它们被连接的顺序运行。相关段落的最新文档如下所示:如果一个信号连接了多个槽函数,当信号被发射时,这些槽函数将按照它们被连接的顺序依次执行。
根据 Qt 文档:如果一个信号连接了多个槽函数,当该信号被触发时,这些槽函数将按照它们被连接的顺序依次执行。 http://qt-project.org/doc/qt-4.8/signalsandslots.html
尽管顺序未定义,但在所有Qt版本中,直到现在,它都是connect()的顺序,除非使用Qt::QueuedConnection,在这种情况下,当emit返回时,甚至不能保证已执行任何或所有槽。不过,仍然不建议依赖顺序。