Question

Je veux lire une vidéo (avec son) dans une interface graphique simple avec « play » et les boutons « stop », etc. Il y a des classes et des widgets dans le module Phonon de Qt pour le faire, et plusieurs exemples. OK, ce qui semble être simple.

Mais maintenant, je dois dessiner des graphiques personnalisés (qui dépendent de l'heure actuelle dans la vidéo) au-dessus de l'image vidéo en flux continu. Je n'ai rien trouvé à ce sujet dans la documentation Qt. Quelle est la manière canonique de le faire? Est-ce que je viens de créer un widget et personnalisée VideoWidget passer outre son paintEvent? Dans une autre question ici, un gars semblait avoir du mal avec cela.

Les pointeurs serait apprécié.

Était-ce utile?

La solution

Utilisez QGraphicsView et QGraphicsWidgets. Vous pouvez mettre votre Phonon :: VideoWidget l'intérieur d'un QGraphicsProxyWidget et il devient utilisable comme QGraphicsWidget.

Pour les superpositions personnalisées, Hériter QGraphicsWidget et passer outre la fonction de peinture pour dessiner vos widgets personnalisés. Vous pouvez les ajouter à votre scène et ils apparaîtront sur le dessus de votre widget vidéo.

Autres conseils

Votre solution ne peut pas travailler parce que vous ne pouvez pas ajouter un QGLWidget à QGraphicsProxyWidget. Regardez s'il vous plaît http://doc.qt.digia.com/qt/qgraphicsproxywidget.html

  

Notez que les widgets avec l'ensemble d'attributs widget Qt::WA_PaintOnScreen   et widgets que envelopper une application externe ou le contrôleur ne peut pas être   intégré. Les exemples sont QGLWidget et QAxWidget.

S'il vous plaît me corriger si je me trompe.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top