我希望创造类似这样的东西
QQueue< SIGNAL> m_queue;
所以我可以将信号(n个数字)排队,然后对其进行双重处理(表示发出信号)。
任何人都可以有任何想法,这是否可能?
注意: 这种设计的动机是,我使用UI线程进行繁重的处理,所以我将创建工作线程,工作线程将出列,信号和处理相同。
答案 0 :(得分:3)
只需创建一个驻留在QThread
中的工作对象,然后使用Qt::QueuedConnection
连接所需的信号。然后,emit会将信号排队以便处理到工作线程事件队列中。
一旦工作线程进入其事件循环(工作者对象当前未处理任何内容),信号将被处理(“出列”)。
无需重新发明轮子。