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
}

这个博主讲的很好https://www.cnblogs.com/whlook/p/6573659.html

上一篇下一篇

猜你喜欢

热点阅读