1
我沒有一個永遠的循環like this question,但它仍然沒有發出成品()信號,QThread :: finished()永遠不會被髮射?
在類的構造函數:
connect (&thread, SIGNAL(started()), SLOT(threadFunc()));
connect (&thread, SIGNAL(finished()), SLOT(finished()));
在成品()函數,
void XX::finished()
{
qDebug() << "Completed";
}
void XX::threadFunc()
{
qDebug() << "Thread finished"; // only single line, finishes immediately
}
但我從來沒有看到finished()
被調用,每次開始之前,我與thread.start()
線程,我必須手動調用thread.terminate()
,做我誤解的QThread的使用情況如何?
嗯,我沒有繼承QThread,只是使用它的信號 – daisy
@ warl0ck所以它意味着你的線程有默認的實現並等待exit,正如我上面所說的。 – fasked