这是我的代码:
void FileOperations::EncryptAndSave(Ui::MainWindow *NUI){
int Stime = clock();
int percent=0;
NUI->progressBar->setVisible(1);
while(percent<100)
{
if(clock()-Stime>250)
{
percent++;
NUI->progressBar->setValue(percent);
Stime=clock();
}
Sleep(1);
}
CFuncion=0;
NUI->progressBar->setVisible(0);
}
我不希望这个循环在几秒钟后不冻结整个程序,这可能吗,还是我需要多线程?
如果多线程是唯一的选择,有人可以给我一些示例代码(将变量发送到第二个线程)
我打算把代码放在 main.cpp 中,让它在每次检查代码时运行,但在 QT 中,main.cpp 只执行一次。
顺便说一句,这是一个示例代码,显然它什么也没做,我要把一些文件操作放在循环中。