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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWidget рядом с QGraphicsView  (Прочитано 2429 раз)
vregess
Гость
« : Ноябрь 02, 2012, 14:29 »

Добавляю в QStackedWidget 2 виджета: QGraphicsView и QWidget. По сигналу меняю текущий виджет.
Проблема: если используется QGLWidget для рендеринга QGraphicsView, то в полноэкранном режиме не отображается QWidget, если его сделать активным.
Те изначально активен QGraphicsView, потом посылаем сигнал и делаем активным QWidget. В результате на экране также отрисовывается QGraphicsView.

Предыстория: изначально мне нужно было показывать видео в QGraphicsView. Использую qt-vlc. Но запихнуть видео виджет на сцену через QGraphicsProxyWidget не получается,
тк qt-vlc использует Qt::WA_PaintOnScreen, что не поддерживается. Пробовал рисовать фреймы сам на QGraphicsWidget, но получается медленно. Поэтому решил использовать
обычный QWidget на вкладке и делать его видимым. Но вот для полноэкранного режима с OpenGL вылезла проблема.

Прикладываю пару примеров, иллюстрирующих проблему:
На сцене 2 квадрата - один переключает фулскрин, второй показывает черный QWidget.

ex1 - пример с использованием QStackedWidget. При запуске можно указать ключ -nogl, чтобы использовать software rendering.
Тут в полноэкранном режиме QWidget не отображается.

ex2 - с использованием QTabWidget. Ключи -nogl и -notabs, который скрывает табы.
Тут с ключом -notabs таже проблема, а при отображении табов все ок.

Как победить, куда копать?
Записан
vregess
Гость
« Ответ #1 : Ноябрь 03, 2012, 20:36 »

Забыл сказать. Qt 4.8.3 x32, Win7 x64, msvc2010.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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