QThread を使用しようとしましたが、できません :( 私のサンプル スレッド:
#include "worker.h"
#include "mainwindow.h"
#include <QDebug>
Worker::Worker() {}
Worker::~Worker() {
qDebug() << "Worker ends.";
}
void Worker::run() {
qDebug() << "Worker start.";
sleep(2);
emit finished();
}
そしてコード on_btnStart_clicked():
Worker *worker = new Worker;
QThread *workerThread = new QThread(this);
connect(workerThread, SIGNAL(started()), worker, SLOT(start()));
connect(workerThread, SIGNAL(finished()), worker, SLOT(quit()));
worker->moveToThread(workerThread);
workerThread->start();
ワーカーは開始しますが、決して終了しません (アプリケーションを閉じると、QThread: Destroyed while thread is still running
. 別の問題 - スレッドとアプリケーションの間でデータを転送するにはどうすればよいですか? QLabel (例: タイマー) に QThread を使用したいのですが、良いチュートリアルが見つかりません。問題なくコンパイルできます. 誰でも私を助けることができますか?
そして, 私が尋ねることができれば, フォームの onCreate() のようなスレッドを開始するにはどうすればよいですか? アプリケーションの実行時間をカウントするための簡単なタイマーを作成したい.
よろしく