У меня есть простое l oop, где я выполняю операцию неопределенной длины. Я установил QProgressDialog с диапазоном (0,0), чтобы вызвать его неопределенный режим «занят»; на моей платформе это обычно производит индикатор выполнения, чья ручка отскочила назад и вперед. Даже если перейти к следующему пункту, появляется диалоговое окно, реагирующее на кнопку «Отмена», но ручка находится на месте в конце полосы и не циклично.
QProgressDialog* progressDialog =
new QProgressDialog("My Progress", "Cancel",
0, 0, this);
progressDialog->setAttribute(Qt::WA_DeleteOnClose, true);
progressDialog->setModal(true);
progressDialog->setMinimumDuration(0);
progressDialog->show();
progressDialog->setValue(0);
while (!done)
{
QThread::msleep(200);
QCoreApplication::processEvents();
}
Очевидно, внутри l oop происходит нечто большее, но он ведет себя одинаково с содержимым или без него; то, что осталось выше после комментирования, все остальное ведет себя как описано. Почему моя ручка прогресса не подпрыгивает?