Привет.
В свои тулзы для индикации пользователям работы программы навешиваю QProgressDialog. Отдельного потока не создаю все идет в главном. Везде по одной и той же схеме:
QProgressDialog progress(QObject::tr("Запись в БД"), NULL, 0, _tableData.size(), this);
progress.setWindowModality(Qt::WindowModal);
QCoreApplication::processEvents();
for(int j=0;j<_tableData.size();j++)
{
//Тут какой-нибудь функционал
progress.setValue(j);
QCoreApplication::processEvents();
}
progress.setValue(_tableData.size());
Проблема в том, что на некоторых клиентских машинах этот прогрессдиалог может не отображаться (хотя работа в цикле идет) или могут не отображаться некоторые из прогрессдиалогов (к примеру, 3 последовательных диалога "чтение данных", "проверка по БД", "формирование файла" - "чтение данных" не показывается, остальные показываются). Вопрос в чем я косячу и как с ним правильно работать?