Для будущих соискателей: у QProgressDialog есть свойство autoReset (по умолчанию
true), которое отвечает за сброс
value по достижению максимума. Чтобы решить проблему необходимо установить для этого свойства значение
false:
p_diag = new QProgressDialog(this);
p_diag->setAutoClose(false);
p_diag->setAutoReset(false); // do not reset value