【发布时间】:2017-02-01 16:41:20
【问题描述】:
在我的代码中,我发出一个信号 (mySignal),我想等待连接的插槽 (mySlot) 执行结束,然后再继续:
emit mySignal();
// Wait for the end of mySlot execution...
// Some code that has to be executed only after the end of mySlot execution...
有办法吗?
【问题讨论】:
-
信号和连接槽是否属于同一个线程中的对象?如果是这样,无论如何都会发生这种情况。如果没有,Qt 的方法不是等待,而是在连接槽的末尾发出另一个信号,这会导致其余代码运行。
-
在这些类型的情况下,您最好使用标准回调函数,而不是调用 Qt 的信号和插槽的开销。
标签: qt signals-slots