在Qt文件中说:
如果多个插槽连接到一个信号,则在发出信号时,插槽将按照它们已连接的顺序依次执行.
但是在connect()函数中,将Qt::ConnectionType类型设置为Qt::QueuedConnection"当控制返回到接收者线程的事件循环时调用插槽.插槽在接收者的线程中执行." 并且Qt::DirectConnection表示"在发出信号时立即调用插槽." 插槽可能不按顺序执行.
他们有冲突吗?
如果多个插槽具有a Qt::DirectConnection,则将按照它们连接的顺序调用它们.如果多个插槽具有a Qt::QueueConnection,则将按照它们连接的顺序调用它们.如果混合和匹配,则所有Qt::DirectionConnection插槽将按顺序调用,然后当控制返回到事件循环时,所有Qt::QueuedConnection插槽将按顺序调用.
| 归档时间: |
|
| 查看次数: |
689 次 |
| 最近记录: |