QT学习笔记——thread多线程
2019-08-07 本文已影响0人
Cyfeng
例子
试过开两个线程,两个进度条,当两个进度条同时更新数值,会报错,什么问题没了解。
#include <thread>
bool flag=false;
void Thread1(QProgressBar *p1)
{
for(int i=0;i<100;i++){
p1->setValue(i);
usleep(50000);
}
flag=true;
}
void MainWindow::on_pushButton_clicked()
{
ui->progressBar->setRange(0,100);
ui->progressBar->setValue(0);
flag=false;
std::thread t1(Thread1,ui->progressBar);
t1.detach();
for(int i=0;i<100;i++){
if(flag) {
ui->label->setText("finish!");
break;
}
sleep(1);
}
//next step
}