Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: CMorgan от Октябрь 15, 2012, 15:44



Название: QProgressDialog иногда не виден при запуске программы.
Отправлено: CMorgan от Октябрь 15, 2012, 15:44
Привет.
В свои тулзы для индикации пользователям  работы программы навешиваю 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 последовательных диалога "чтение данных", "проверка по БД", "формирование файла" - "чтение данных" не показывается, остальные показываются). Вопрос в чем я косячу и как с ним правильно работать?


Название: Re: QProgressDialog иногда не виден при запуске программы.
Отправлено: GreatSnake от Октябрь 15, 2012, 15:48
чего-то не видно
Код
C++ (Qt)
progress.show();


Название: Re: QProgressDialog иногда не виден при запуске программы.
Отправлено: CMorgan от Октябрь 16, 2012, 16:05
Ну вроде по докам
Код:
progress.setValue(j);
отличный от максимального значения должен и show() сам запускать как я понял. Но попытка не пытка, вставлю посмотрю что будет.
Сложность проверки в том, что на моей машине и в исходном виде все показывается как надо - это надо вылавливать юзеров у которых не видно прогрессбаров  ;D


Название: Re: QProgressDialog иногда не виден при запуске программы.
Отправлено: GreatSnake от Октябрь 16, 2012, 17:42
Значит проблема в максимальном значении у клиентов)