我正在使用QProgressDialog,它显然只显示了进度,并且在此过程中会增加。当它达到100%时,它上面的进度条重置为零,而不是在那之后显示100%。
progress是该类的成员变量。
QSharedPointer<QProgressDialog> progress;
用于on_clicked事件。注意我使用Sleep()进行模拟,我知道它不属于那里。问题是当它达到100%时,进度条显示零进度,我想坚持100%。
void MainWindow::on_pushButtonConvert_clicked()
{
int numFiles = 10;
progress = (QSharedPointer<QProgressDialog>) new QProgressDialog("Copying files...", "Abort Copy", 0, numFiles, this);
progress->setWindowModality(Qt::WindowModal);
progress->setAutoClose( false );
for (int i = 0; i < numFiles; i++) {
progress->setValue(i);
if (progress->wasCanceled())
break;
//... copy one file
Sleep(500);
}
progress->setValue(numFiles);
}
答案 0 :(得分:1)
我想通了,我不得不打电话:
progress->setAutoReset( false );