如果我有一个A类,它的一个功能是:
void A::func()
{
emit first_signal();
emit second_signal();
}
Run Code Online (Sandbox Code Playgroud)
假设B类有2个插槽,一个连接到first_signal,和另一对second_signal中,它保证该连接的时隙first_signal总是被处理之前的second_signal时隙?
Wil*_*cat 15
如果在信号和插槽之间使用直接连接类型(Qt :: DirectConnection),那么答案是肯定的.
从Qt帮助系统:
发出信号时,通常会立即执行与其连接的插槽,就像正常的函数调用一样.发生这种情况时,信号和插槽机制完全独立于任何GUI事件循环. 所有插槽返回后,将在emit语句后执行代码.使用排队连接时情况略有不同; 在这种情况下,emit关键字后面的代码将立即继续,并且插槽将在稍后执行.
您可以更改默认的连接类型中的任何枚举的Qt :: ConnectionType中的QObject ::连接方法.
| 归档时间: |
|
| 查看次数: |
5712 次 |
| 最近记录: |