Frage

Ich mag ein Video spielen (mit Ton) in einem einfachen GUI mit „Play“ und „Stop“ Tasten usw. Es gibt Klassen und Widgets in Qt-Phonon-Modul für das zu tun, und einige Beispiele. OK, so dass scheint einfach zu sein.

Aber jetzt muss ich einige benutzerdefinierte Grafiken zeichnen (die in dem Video auf der aktuellen Zeit ab) auf der Oberseite des gestreamten Videobildes. Ich habe nichts darüber in der Qt-Dokumentation. Was ist der üblicher Weg, dies zu tun? Erstelle ich nur eine benutzerdefinierte VideoWidget Widget und seine paintEventO außer Kraft setzen? In einer anderen Frage hier schien ein Typ Probleme damit zu haben.

würde Alle Zeiger geschätzt werden.

War es hilfreich?

Lösung

Mit QGraphicsView und QGraphicsWidgets. Sie können Ihre Phonon :: VideoWidget in einem QGraphicsProxyWidget setzen und es wird verwendbar als QGraphicsWidget.

Für benutzerdefinierte Overlays, vererben QGraphicsWidget und außer Kraft setzen, die Farbe Funktion Ihrer eigenen Widgets zu zeichnen. Sie können sie zu der Szene hinzufügen, und sie werden auf Ihrem Video-Widget angezeigt werden.

Andere Tipps

Ihre Lösung kann nicht funktionieren, da Sie keinen QGLWidget zu QGraphicsProxyWidget hinzufügen können. Bitte sieh dir ... an http://doc.qt.digia.com/qt/qgraphicsproxywidget.html

Beachten Sie, dass Widgets mit dem Qt::WA_PaintOnScreen Widget-Attribut gesetzt und Widgets, die eine externe Anwendung wickeln oder Controller kann nicht sein, eingebettet. Beispiele sind QGLWidget und QAxWidget.

Bitte korrigieren Sie mich, wenn ich falsch bin.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top