Russian Qt Forum
Сентябрь 30, 2024, 14:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Самостоятельное появление QProgressDialog без вызова show, баг или так задумано  (Прочитано 2838 раз)
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« : Апрель 04, 2016, 10:20 »

Обнаружил самостоятельное появление QProgressDialog без вызова show() в Qt5.6 при переносе проекта из более ранней версии. При чем, при закоменнтированной  "progressDialog.setValue(0)" окно появляется стандартно через 4 секунды не смотря на duration==0, а при разкомментированной - окно появляется сразу.

Код
C++ (Qt)
int main(int argc, char *argv[])
{
   QApplication a(argc, argv);
 
   MainWindow mainWindow;
   mainWindow.show();
 
   QProgressDialog progressDialog(&mainWindow);
   progressDialog.setWindowModality(Qt::WindowModal);
   progressDialog.setMinimumDuration(0);
   progressDialog.setAutoClose(false);
   progressDialog.setAutoReset(false);
   // progressDialog.setValue(0);
 
   // QObject::connect(&mainWindow, SIGNAL(buttonClicked()), &progressDialog, SLOT(show()));
 
   return a.exec();
}
 
« Последнее редактирование: Апрель 04, 2016, 10:23 от poru » Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #1 : Апрель 06, 2016, 21:14 »

А если сделать mainWindow.show(); после создания и настройки диалога, поведение изменится?
Записан

Юра.
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Апрель 06, 2016, 21:25 »

откопано:

Код
C++ (Qt)
QProgressDialog::setMinimumDuration(int ms)
{
  ...
  d->forceTimer->start(ms);// подключен к QProgressDialog::forceShow()
  ...
}
 
QProgressDialog::forceShow()
{
  ...
  show();
  ...
}
можешь вызвать reset() после setMinimumDuration(), тогда диалог появляться не должен
« Последнее редактирование: Апрель 06, 2016, 21:26 от lit-uriy » Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.095 секунд. Запросов: 23.