Добрый день.
Вот есть класс:
C++ (Qt)
class SAM_EXPORT sam
{
public:
sam();
~sam();
myThreadLK * newWorking;
QList<myThreadLK *> wokingLK0;
QThread *thLK[8];
myThreadrec * newReceive;
QList<myThreadrec *> receiveLK0;
QThread *thREC[8];
.......
}
sam::sam()
{
for(int i=0;i<KIP;i++)
{
thLK[i]=new QThread;
newWorking=new myThreadLK(NULL);
QObject::connect(thLK[i], SIGNAL(started()), newWorking, SLOT(run()));
newWorking->moveToThread(thLK[i]);
wokingLK0.append(newWorking);
thREC[i]=new QThread;
newReceive=new myThreadrec(NULL);
QObject::connect(thREC[i], SIGNAL(started()), newReceive, SLOT(run()));
newReceive->moveToThread(thREC[i]);
receiveLK0.append(newReceive);
.......
}
}
myThreadLK и myThreadrec наследуются от QObject и в них объявлен слот run();
Потоки запускаются
thREC
->start();
thLK->start();
Всё работает,потоки запускаются.
Но в процессе работы должен запуститься таймер
C++ (Qt)
timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(updateTimer()),Qt::DirectConnection);
.....
timer->start(100)
НЕ работает - слот не вызывается,а раньше когда myThreadLK и myThreadrec наследовались от
QThread все работало.