Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: deMax от Ноябрь 05, 2013, 08:16



Название: QGlWidget мерцание черным при переходе окна в полноэкранный режим
Отправлено: deMax от Ноябрь 05, 2013, 08:16
Разместил в QMainWindow два виджета наследник QGlWidget и наследник QWidget. Если переводить в полноэкранный режим QMainWindow::showFullScreen() и при этом скрыть виджет экран становиться черным, потом появляется изображение, если виджет не скрывать то все ок. Как это исправить?

При работе в полноэкранном режиме скрытие/показ виджета тоже вызывают черный экран.

В полноэкранном режиме при наведении курсора к краю экрана нужно показывать скрытый виджет.


Название: Re: QGlWidget мерцание черным при переходе окна в полноэкранный режим
Отправлено: _OLEGator_ от Ноябрь 05, 2013, 10:17
Как вариант решения проблемы - QWidget показывать отдельным окном.


Название: Re: QGlWidget мерцание черным при переходе окна в полноэкранный режим
Отправлено: deMax от Ноябрь 05, 2013, 14:19
Пока засунул QGlWidget в QFrame и оставил рамку 1 пиксель. Как сделать QToolBar поверх QGlWidget.


Название: Re: QGlWidget мерцание черным при переходе окна в полноэкранный режим
Отправлено: Hrundel от Декабрь 17, 2013, 11:04
Как вариант решения проблемы - QWidget показывать отдельным окном.

В прошлом году писал тоже что-то подобное. Тоже пришел к мысли показывать отдельным окном. На моей машине помогло. Перенес на лэптоп - окно стало "моргать". Что-то там плохо шло при перерисовки.
Похоже, что все очень сильно зависит от график карты. Насамом делеле виджиты плохо уживаются рядом с GL, особенно когда возникают наложения.

Пока засунул QGlWidget в QFrame и оставил рамку 1 пиксель. Как сделать QToolBar поверх QGlWidget.

Исходя из вышесказанног лучше все элементы размещать рядом, но не поверху. Работать будет - но только на очень быстрых картах типа NVidia Quadro


Название: Re: QGlWidget мерцание черным при переходе окна в полноэкранный режим
Отправлено: deMax от Декабрь 27, 2013, 07:27
Когда QGlWidget один он делается полноэкранным(видеокарта переходит в полноэкранный режим), когда кроме него присутствуют другие виджеты, то он выходит из полноэкранного режима.

Добавил рамку, теперь полноэкранного режима и мерцания нет.