Рисование поверх видео в виджете Qt - PullRequest
3 голосов
/ 09 июля 2009

Я занимаюсь разработкой приложения Qt, которое может воспроизводить видео и показывать полосу прокрутки. Размер окна НЕ ДОЛЖЕН превышать ограничение в 720 пикселей по высоте и 1280 по ширине. Я использую MPlayer в качестве подчиненного процесса и передаю ему winId () QWidget, и он отображает в нем видео. Теперь я хочу, чтобы другой виджет поверх этого виджета видео все время показывал некоторые результаты, но размещение виджета надписи над виджетом, содержащим видео, не служит цели, так как он снова и снова закрашивается видео. Любое решение? Предложения по этому поводу?

Ответы [ 3 ]

1 голос
/ 20 июля 2009

При использовании MPlayer таким образом, я считаю, что лучшим вариантом будет создание второго окна .

Есть несколько способов, с помощью которых вы могли бы пойти отсюда, более причудливый способ, который может не работать на некоторых версиях / конфигурациях Xorg, - это иметь второе окно того же размера, что и первое, и поместить его прямо поверх другого ( с механизмом перемещения другого окна, когда любое из них перемещено), и сделайте окно прозрачным, за исключением элементов управления (прозрачность - проблема с некоторыми версиями X, проверьте labs.trolltech.com для некоторых примеров этого).

Альтернативный метод, который, как мне кажется, VLC использует в полноэкранном режиме, состоит в том, чтобы второе окно представляло собой небольшую мелочь с элементами управления и располагало его поверх первого окна со смещением и без рамки. ... делая так, чтобы при перемещении первого окна позиция второго окна обновлялась.

0 голосов
/ 24 августа 2009

Инкапсулируйте ваше видео в виджет, испуская QImage в слот, который преобразует его в QPixmap, который вы рисуете на виджете во время переопределенной paintEvent ().

Я не знаю, какое взаимодействие вы должны обеспечить с вашими видео, кроме "сообщения", но если вы хотите что-то необычное, QGraphicsView может предоставить вам множество таких эффектов.

Надеюсь, это поможет.

0 голосов
/ 09 июля 2009

Я предлагаю вам взглянуть на платформу Phonon для воспроизведения видео. Он должен обрабатывать игру без вызова отдельного исполняемого файла, что, вероятно, решит проблему рисования.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...