如何使用信号列表填充QQueue?

时间:2016-01-19 06:37:54

标签: multithreading qt signals qt5

我希望创造类似这样的东西

QQueue< SIGNAL> m_queue;

所以我可以将信号(n个数字)排队,然后对其进行双重处理(表示发出信号)。

任何人都可以有任何想法,这是否可能?

注意: 这种设计的动机是,我使用UI线程进行繁重的处理,所以我将创建工作线程,工作线程将出列,信号和处理相同。

1 个答案:

答案 0 :(得分:3)

只需创建一个驻留在QThread中的工作对象,然后使用Qt::QueuedConnection连接所需的信号。然后,emit会将信号排队以便处理到工作线程事件队列中。

一旦工作线程进入其事件循环(工作者对象当前未处理任何内容),信号将被处理(“出列”)。

无需重新发明轮子。