如何在qt设计器制作的ui文件中插入视频?

Hye*_*ark 4 python pyqt qt-designer python-3.x pyqt5

我想在蓝框(ui图像)中插入视频,但我不知道如何插入视频文件.

在此输入图像描述

我的代码在这里.我不知道如何添加视频......只知道制作视频播放器的例子......

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())
Run Code Online (Sandbox Code Playgroud)

感谢您阅读我的问题.

eyl*_*esc 8

Qt Designer没有显示所有的Qt小部件,我们经常想通过Qt添加我们自己的小部件,因为至少有2个解决方案,第一个是创建插件并将其加载到Qt Designer,另一个更简单.推广小部件,后者是我将在这个答案中展示的.

为此,您必须进行一些最小的更改,我不知道您在蓝色框中使用的是哪种类型的小部件,但您必须将其更改为容器子菜单中的Widget类型,如下所示图片:

在此输入图像描述

在他们之后你必须右键单击小部件然后选择Promote to ...,然后会出现一个对话框,在必须放置的提升类名称部分,在你必须放置QVideoWidget的头文件部分PyQt5.QtMultimediaWidgets,然后按添加按钮,然后按提升:

在此输入图像描述

之后,您将能够QVideoWidget在您的应用程序中使用.

在以下链接中有一个例子