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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 5.6.0 - Появляется странное окно при выполнении app.exec()  (Прочитано 2822 раз)
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« : Октябрь 28, 2016, 10:15 »

Народ, столкнулся с таким багом.

Я веду разработку программы на Qt 5.4.2. В какой-то момент народ стал жаловаться, что при старте программы появляется загадочное окно с кнопкой Cancel. Выяснилось, что это окно стало появляться в Qt версии 5.6.0 и выше (есть и в 5.6.2).

Ниже ссылка на обсуждение. Там обсуждаются всякие конфиги, но суть в том, что проблема оказалась не в конфигах, а жестко связана с версией Qt. То есть, странное окно появляется в Qt 5.6.0 и выше, как минимум на Windows и Linux, на 32-х и 64-х битах:

https://github.com/xintrea/mytetra_dev/issues/19

Окно появляется в момент исполнения app.exec(). Отдебажиться не могу, потому что некуда в коде ставить брекпоинт.

Теперь сижу и думаю, как мне поймать появление этого окна, как понять кто его запускает и откуда оно появляется?

Код проекта: https://github.com/xintrea/mytetra_dev

Внешний вид окна в Windows показан на прикрепленной картинке.
Записан

Собираю информацию по крупицам
http://webhamster.ru
xintrea
Супер активный житель
*****
Offline Offline

Сообщений: 754



Просмотр профиля WWW
« Ответ #1 : Октябрь 28, 2016, 14:33 »

В общем, оказалось, что это известный баг в Qt 5.5-5.6

https://www.linux.org.ru/forum/development/12976081

Самопроизвольная отрисовка диалога QProgressDialog после отрабатывания конструктора.
Записан

Собираю информацию по крупицам
http://webhamster.ru
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #2 : Октябрь 28, 2016, 17:56 »

Почему баг?
Тебе же там написали как устроен QProgressDialog.
https://www.linux.org.ru/forum/development/12976081?cid=12976435
Имхо, у тебя достаточно большая область видимости выделена для этого диалога. На мой взгляд, его лучше создавать непосредственно перед длительной операцией, прогресс которой хочется отображать.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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