gpt4 book ai didi

c++ - 什么时候调用 Qt 插槽?

转载 作者:太空狗 更新时间:2023-10-29 20:26:41 26 4
gpt4 key购买 nike

比如我有一个函数

void A::fun()
{
do_1();
emit signal_1();

do_2();
emit signal_2();

do_3();
}

signal_1slot_1之间存在连接;在 signal_2slot_2 之间。 slot_1slot_2 何时调用?一些答案选项:

  1. fun返回后,在slot_2之前调用slot_1
  2. slot_1do_1 之后调用,slot_2 在之后调用do_2

或其他人。

最佳答案

对于直接连接(不从不同线程连接时默认)

插槽被立即调用,所以结果应该是:

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的描述

关于c++ - 什么时候调用 Qt 插槽?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18908816/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com