我曾经QFuture
为我的代码中已有的函数启动一个线程,该函数需要很长时间并冻结我的 GUI。
该线程似乎工作正常:
QFuture<int> result = QtConcurrent::run(&m_DC, &DatabaseController::getAll);
但是,当getAll
函数结束时,我认为该线程仍在运行,它不应该运行,但我不知道如何结束或完成它。我查看了文档,但并没有真正说清楚。
基本上我在线程开始时将进度条显示为繁忙,并希望在线程结束时隐藏它
if(result.isRunning())
{
ui->progressBar->setRange(0,0);
ui->progressBar->show();
}
if(result.isFinished())
{
ui->progressBar->hide();
}