Воспроизвести видео с индивидуальной наложной графикой

StackOverflow https://stackoverflow.com/questions/4473709

Вопрос

Я хочу воспроизвести видео (со звуком) в простом графическом интерфейсе с кнопками «Play» и «Stop» и т. Д. В фононном модуле QT есть классы и виджеты. Хорошо, так что это кажется простым.

Но теперь мне нужно нарисовать индивидуальную графику (которая зависит от текущего времени в видео) на вершине потокового видео изображения. Я ничего не нашел в этом в документации QT. Какой канонический способ сделать это? Я просто создаю пользовательский виджет VideoWidget и переопределяю его Paintevent? В другом вопросе здесь, казалось, были проблемы с этим.

Любые указатели будут оценены.

Это было полезно?

Решение

Используйте QgraphicsView и QGraphicsWidgets. Вы можете поместить свой Phonon :: VideoWidget в QGraphicsProxyWidget, и он становится пригодным для использования как QGraphicsWidget.

Для индивидуальных наложений наследуйте QGraphicsWidget и переопределяйте функцию краски, чтобы нарисовать ваши пользовательские виджеты. Вы можете добавить их в свою сцену, и они появятся на вершине вашего видеоролика.

Другие советы

Ваше решение не может работать, потому что вы не можете добавить QGLWidget к QGraphicsProxyWidget. Анкет Пожалуйста, посмотритеhttp://doc.qt.digia.com/qt/qgraphicsproxywidget.html

Обратите внимание, что виджеты с Qt::WA_PaintOnScreen Набор атрибутов виджета и виджеты, которые обертывают внешнее приложение или контроллер, не могут быть встроены. Примеры есть QGLWidget а также QAxWidget.

Пожалуйста, поправьте меня, если я ошибаюсь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top