一个线程控制一个进度条,通过信号和槽机制控制。
/*显示进度条的Class: ShowWidget.cpp*/
for(int i = 0; i < size; i++)
{
//......
progress_bars_.append(new QProgressBar(this));
progress_bars_[i]->setMinimum(0);
progress_bars_[i]->setMaximum(100);
progress_bars_[i]->setValue(0);
progress_bars_[i]->setFormat(QString("当前进度为:%1%").arg(0));
progress_threads_.append(new QThread());
update_percent_.append(new UpdatePercent(progress_bars_.at(i)));
update_percent_.at(i)->moveToThread(progress_threads_.at(i));
update_percent_.at(i)->setDir(data_path_);
update_percent_.at(i)->setCarName(car_names_.at(i));
connect(progress_threads_.at(i), SIGNAL(finished()), progress_threads_.at(i), SLOT(deleteLater()));
connect(progress_threads_.at(i), SIGNAL(finished()), update_percent_.at(i), SLOT(deleteLater()));
//此处为更新进度条的信号和槽连接
connect(update_percent_.at(i), SIGNAL(getprogressvalue(QProgres