Воспроизвести видео с индивидуальной наложной графикой
-
11-10-2019 - |
Вопрос
Я хочу воспроизвести видео (со звуком) в простом графическом интерфейсе с кнопками «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
.
Пожалуйста, поправьте меня, если я ошибаюсь.