python python-3.x pyqt pyqt5 qt-designer

python - ¿Cómo insertar video en el archivo ui que hizo en qt designer?



python-3.x pyqt (1)

Qt Designer no muestra todos los widgets de Qt, y a menudo queremos agregar nuestro propio widget a través de Qt, para eso hay al menos 2 soluciones, la primera es crear un complemento y cargarlo en Qt Designer, y el otro es más simple . promover el widget, este último es lo que mostraré en esta respuesta.

Para esto debe hacer ciertos cambios mínimos, no sé qué tipo de widget es el que usa en el cuadro azul, pero debe cambiarlo al tipo de widget que se encuentra en el submenú de los contenedores como se muestra a continuación imagen:

después de ellos, debe hacer clic con el botón derecho en el widget y seleccionar Promote to ... , luego aparecerá un diálogo, en la parte del nombre de la clase Promocionado debe colocar QVideoWidget , y en la parte del Archivo de encabezado debe colocar PyQt5.QtMultimediaWidgets , luego presione el botón Agregar y luego Promocionar:

Después de eso, podrá utilizar QVideoWidget dentro de su aplicación.

En el siguiente link hay un ejemplo

Quiero insertar video en el cuadro azul (imagen ui) pero no sé cómo insertar el archivo de video.

Mi codigo esta aqui. No sé cómo agregar video ... Solo sé un ejemplo que hace que el reproductor de video ...

import sys from PyQt5 import QtWidgets from PyQt5 import QtGui from PyQt5 import uic from PyQt5 import QtCore from PyQt5.QtCore import QDir, Qt, QUrl, pyqtSlot from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtWidgets import (QApplication, QFileDialog, QHBoxLayout, QLabel, QPushButton, QSizePolicy, QSlider, QStyle, QVBoxLayout, QWidget) dir_audience='''' dir_movie = '''' dir_export = '''' select_emotion = ''happy'' class Form(QtWidgets.QDialog): def __init__(self, parent=None): QtWidgets.QDialog.__init__(self, parent) self.ui = uic.loadUi("highlight_export_form.ui", self) self.ui.show() self.ui.load_audience.clicked.connect(self.load_audience_clicked) self.ui.load_movie.clicked.connect(self.load_movie_clicked) self.ui.start_recog.clicked.connect(self.start_recog_clicked) self.ui.radio_happy.toggled.connect(self.on_radio_button_toggled) self.ui.radio_surprised.toggled.connect(self.on_radio_button_toggled) def load_audience_clicked(self, event): dir_audience, _ = QFileDialog.getOpenFileName(self, "Open Audience", QDir.homePath()) self.path_audience.setText(dir_audience) def load_movie_clicked(self, event): dir_movie, _ = QFileDialog.getOpenFileName(self, "Open Movie", QDir.homePath()) self.path_movie.setText(dir_movie) def start_recog_clicked(self, event): self.check_1.setText("start_recognition") def on_radio_button_toggled(self): if self.radio_happy.isChecked(): select_emotion=''happy'' self.check_3.setText(select_emotion) elif self.radio_surprised.isChecked(): select_emotion=''surprised'' self.check_3.setText(select_emotion) if __name__ == ''__main__'': app = QtWidgets.QApplication(sys.argv) w = Form() sys.exit(app.exec())

Gracias por leer mi pregunta.