其他分享
首页 > 其他分享> > 如何在qt设计器制作的ui文件中插入视频?

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

作者:互联网

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

enter image description here

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

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())

感谢您阅读我的问题.

解决方法:

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

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

enter image description here

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

enter image description here

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

在下面的link中有一个例子

标签:python,python-3-x,pyqt,pyqt5,qt-designer
来源: https://codeday.me/bug/20190607/1195716.html