QSplashscreen фон становится черным, когда я нажимаю на него несколько раз

я использую QSplashscreen для отображения заставки в моем приложении. Обычно, когда я нажимаю на заставку, когда мое приложение загружается, заставка исчезает. Я видел, что mousepressevent на Qsplashscreen сделаны звонить hide Функция виджета.

Но иногда, когда я нажимаю на заставку, фон заставки становится черным, и если я продолжаю нажимать, я получаю сообщение о том, что приложение не отвечает. Но через некоторое время приложение работает нормально.

Почему я иногда получаю черный фон при щелчке мышью на заставке? Я использую версию Qt 4.8.5

1

Решение

Причина, по которой вы получаете черный фон и «не отвечающие» сообщения, вероятно, в том, что вашему основному приложению требуется некоторое время для загрузки, то есть оно блокирует основной цикл событий.Большинство людей пытаются отключить все события, которые QSplashScreen реализует, но это решение не работает. Поэтому самое простое решение — позвонить QApplication.processEvents время от времени, пока вы создаете основное приложение.

Обратите внимание, что вы должны отделить свою бизнес-логику от логики представления именно из-за подобных вещей. Решать подобные проблемы будет намного проще.

0

Другие решения


По вопросам рекламы [email protected]