2015-08-04 2 views
0

Я пытаюсь создать приложение с помощью libvlc-qt и Qt5.5. Некоторые функции требуют отладки полупрозрачного текста и графики над виджетами видео. Я нашел this нить, в которой говорится: «Виджет видеороликов - opengl. Вы должны уметь разместить новый слой opengl выше».libvlc-qt и OpenGL

Мой вопрос: как я подхожу к этому? Я пробовал создавать перекрывающиеся QOpenGLWidgets и рисовать с помощью QPainter на них и некоторые подобные простые решения, но это не приводило к тому, что ничего не происходило или случайные segfaults. Есть идеи?

+0

Я рекомендую вам попробовать Qml с моей библиотекой QmlVlc. Пожалуйста, посмотрите демо: https://github.com/RSATom/QmlVlcDemo – RSATom

ответ

0

Вы можете наложить QWidget на QOpenGLWidget, но не наоборот. И конкретно, ничего в родительском виджетах и ​​под QOpenGLWidget не будет видно.

+0

и VlcVideoWidget (не наследует QOpenGLWidget, хотя), и мой виджет визуализируется OpenGL, поэтому я надеюсь на что-то вроде рисования непосредственно на поверхности видео. Это можно сделать? – rhoki

+0

@rhoki Вам нужно заставить Vlc визуализировать экранный фреймбуфер, а затем вы можете использовать этот фреймбуфер в качестве текстуры, например. Но, вообще говоря, отдельные экранные контексты OpenGL можно создавать только на настольной платформе (компоновщике окон). –