Bonjour,
j'ai un petit utilitaire vidéo pour lequel j'ai utilisé la construction ci dessous:
Donc si j'ai bien compris, j'ai une "scene" dans un "view"... sachant que la "scene" contient elle même l'objet QVideoWidget....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 fenetre_widget = QWidget() self.videoWidget = QVideoWidget() self.videoWidget.setStyleSheet("QVideoWidget{background: black}") self.scene= QGraphicsScene() self.view = QGraphicsView() self.view.setScene(self.scene) self.view.setStyleSheet("QGraphicsView{background: transparent}") self.view.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.view.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOff) self.scene.addWidget(self.videoWidget)
Par la suite je connecte le QVideoWidget avec un flux vidéo (expl):
Arrivé à ce stade, pas de problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.camera.setViewfinder(self.videoWidget)
mais quand je demande à la camera de stopper:
Quand je scanne les objet de ma scene, il me reste un "objet" qui porte le nom suivant : "PyQt5.QtWidgets.QGraphicsProxyWidget"
Code : Sélectionner tout - Visualiser dans une fenêtre à part self.camera.stop()
En visuel, cela me fige la dernière image de mon flux vidéo dans ma scène (et moi, j'aimerais bien avoir un bel écran noir quand je stop)
j'ai essayé de modifier les setStyleSheet du videoWidget, de ma scene et de mon view... mai rien n'y fait
et quand j'essaye de modifier le setStyleSheet de mon "QGraphicsProxyWidget" ça fait rien...
Du coup, une idée pour avoir un ecran noir lors de l'arret du flux vidéo? (Apparemment j'arrive pas à rafraichir/réinitialiser mon QGraphicsProxyWidget...)
y a t-il un effet d'empilage de données (raffraichissement/reset à faire dans mon système scene/view/videowidget)?
NB: quand je relance la caméra tout refonctionne (apparemment bien)...
merci!
Partager