例如,我有一个功能
void A::fun()
{
do_1();
emit signal_1();
do_2();
emit signal_2();
do_3();
}
signal_1
和slot_1
之间存在联系;在signal_2
和slot_2
之间。 slot_1
和slot_2
何时被调用?一些答案选项:
slot_1
; slot_2
在slot_1
之后调用do_1
,之后调用slot_2
do_2
或其他人。
答案 0 :(得分:6)
对于直接连接(默认情况下不从不同的线程连接)
立即调用插槽,因此结果应为:
do_1
slot_1
do_2
slot_2
do_3
从同一个帖子(需要手动设置)调用排队连接
函数的执行必须结束,然后主循环可以调用插槽
do_1
do_2
do_3
slot_1
slot_2
从其他主题
调用排队连接由于线程问题,它更复杂。结果可以类似于第一个或第二个示例(或组合)。 您无法保证会有什么电话订单!
do_1
slot_1
do_2
do_3
slot_2
您可以在此处查看Qt::ConnectionType
的说明答案 1 :(得分:0)
此链接可能有助于更简单的理解