注册 登录
编程论坛 QT论坛

一个信号同时发给多个线程,一个线程有反应,另一个没有

qtyangyong 发布于 2021-11-27 09:03, 1478 次点击
在mainframe中
pPfrm = new Pfrm();

pProcSlot1TH = new processThread(1);
pProcSlot1TH->start();
pProcSlot2TH = new processThread(2);
pProcSlot2TH->start();
//关联线程事件
connect(pvatPfrm,SIGNAL(sigStartPro(int)),pProcSlot1TH,SLOT(slotStartPro(int)));
connect(pvatPfrm,SIGNAL(sigStartPro(int)),pProcSlot2TH,SLOT(slotStartPro(int)));

pPfrm->show();

===============================================

在form中,emit(sigStartPro(0)),线程1收到了信号,执行了方法slotStartPro,但线程2却没动作。
不知道哪里不对。
1 回复
#2
qtyangyong2021-11-27 17:52
这个暂时用全局变量解决了,后面再研究。因为要让槽在子线程中工作还得另外加逻辑。
1