# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'findpath_UI.ui' # # Created by: PyQt5 UI code generator 5.15.4 # # WARNING: Any manual changes made to this file will be lost when pyuic5 is # run again. Do not edit this file unless you know what you are doing. from PyQt5 import QtCore, QtGui, QtWidgets from PyQt5.QtCore import QTimer from PyQt5.QtMultimediaWidgets import QVideoWidget from PyQt5.QtMultimedia import QMediaContent, QMediaPlayer from PyQt5.QtWidgets import QFileDialog class Ui_MainWindow1(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1262, 867) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") #设置左侧工具栏 self.vedio_control_bar = QtWidgets.QFrame(self.centralwidget) self.vedio_control_bar.setGeometry(QtCore.QRect(370, 770, 421, 70)) self.vedio_control_bar.setStyleSheet("QPushButton{\n" " border:none\n" "}") self.vedio_control_bar.setFrameShape(QtWidgets.QFrame.StyledPanel) self.vedio_control_bar.setFrameShadow(QtWidgets.QFrame.Raised) self.vedio_control_bar.setObjectName("vedio_control_bar") self.horizontalLayout = QtWidgets.QHBoxLayout(self.vedio_control_bar) self.horizontalLayout.setObjectName("horizontalLayout") #设置快退按钮 self.vedio_back = QtWidgets.QPushButton(self.vedio_control_bar) self.vedio_back.setMinimumSize(QtCore.QSize(50, 50)) self.vedio_back.setMaximumSize(QtCore.QSize(50, 50)) self.vedio_back.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("window_png/快退.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_back.setIcon(icon) self.vedio_back.setIconSize(QtCore.QSize(50, 50)) self.vedio_back.setObjectName("vedio_back") self.horizontalLayout.addWidget(self.vedio_back) #设置播放按钮 self.vedio_play = QtWidgets.QPushButton(self.vedio_control_bar) self.vedio_play.setMinimumSize(QtCore.QSize(50, 50)) self.vedio_play.setMaximumSize(QtCore.QSize(50, 50)) self.vedio_play.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("window_png/播放.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_play.setIcon(icon1) self.vedio_play.setIconSize(QtCore.QSize(50, 50)) self.vedio_play.setObjectName("vedio_play") self.horizontalLayout.addWidget(self.vedio_play) #设置快进按钮 self.vedio_forward = QtWidgets.QPushButton(self.vedio_control_bar) self.vedio_forward.setMinimumSize(QtCore.QSize(50, 50)) self.vedio_forward.setMaximumSize(QtCore.QSize(50, 50)) self.vedio_forward.setText("") icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("window_png/快进.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_forward.setIcon(icon2) self.vedio_forward.setIconSize(QtCore.QSize(50, 50)) self.vedio_forward.setObjectName("vedio_forward") self.horizontalLayout.addWidget(self.vedio_forward) self.widget = QVideoWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(10, 20, 1191, 691)) self.widget.setObjectName("widget") #设置进度条窗口 self.Progress_bar = QtWidgets.QFrame(self.centralwidget) self.Progress_bar.setGeometry(QtCore.QRect(10, 710, 1201, 61)) self.Progress_bar.setFrameShape(QtWidgets.QFrame.StyledPanel) self.Progress_bar.setFrameShadow(QtWidgets.QFrame.Raised) self.Progress_bar.setObjectName("Progress_bar") #设置进度条控件 self.sld_duration = QtWidgets.QSlider(self.Progress_bar) self.sld_duration.setGeometry(QtCore.QRect(20, 20, 1051, 22)) self.sld_duration.setOrientation(QtCore.Qt.Horizontal) self.sld_duration.setObjectName("sld_duration") self.sld_duration.setEnabled(True) #设置显示时间控件 self.lab_duration = QtWidgets.QLabel(self.Progress_bar) self.lab_duration.setGeometry(QtCore.QRect(1100, 20, 81, 21)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(13) font.setBold(False) font.setWeight(50) font.setStyleStrategy(QtGui.QFont.PreferAntialias) self.lab_duration.setFont(font) self.lab_duration.setStyleSheet("QLabel\n" "{\n" " color:white\n" "}") self.lab_duration.setObjectName("lab_duration") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.toolBar = QtWidgets.QToolBar(MainWindow) self.toolBar.setIconSize(QtCore.QSize(40, 40)) self.toolBar.setObjectName("toolBar") MainWindow.addToolBar(QtCore.Qt.LeftToolBarArea, self.toolBar) #设置添加文件按钮 self.actionl1 = QtWidgets.QAction(MainWindow) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap("window_png/添加文件.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionl1.setIcon(icon3) self.actionl1.setObjectName("actionl1") #设置路径分析按钮 self.actionl1_2 = QtWidgets.QAction(MainWindow) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap("window_png/路径分析-2.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.actionl1_2.setIcon(icon4) self.actionl1_2.setObjectName("actionl1_2") self.toolBar.addAction(self.actionl1) self.toolBar.addAction(self.actionl1_2) self.vedio_bar = QtWidgets.QFrame(self.centralwidget) self.vedio_bar.setGeometry(QtCore.QRect(800, 770, 150, 70)) self.vedio_control_bar.setStyleSheet("QPushButton{\n" " border:none\n" "}") self.vedio_bar.setFrameShape(QtWidgets.QFrame.StyledPanel) self.vedio_bar.setFrameShadow(QtWidgets.QFrame.Raised) self.vedio_bar.setObjectName("vedio_bar") #设置音量调节进度条 self.sld = QtWidgets.QSlider(self.vedio_bar) self.sld.setGeometry(QtCore.QRect(50, 20, 50, 30)) self.sld.setOrientation(QtCore.Qt.Horizontal) self.sld.setObjectName("sld") self.sld.setEnabled(True) self.lab = QtWidgets.QLabel(self.vedio_bar) self.lab.setGeometry(QtCore.QRect(100, 20, 40, 30)) font = QtGui.QFont() font.setFamily("微软雅黑") font.setPointSize(13) font.setBold(False) font.setWeight(50) font.setStyleStrategy(QtGui.QFont.PreferAntialias) self.lab_duration.setFont(font) self.lab_duration.setStyleSheet("QLabel\n" "{\n" " color:white\n" "}") self.lab.setObjectName("lab") self.vedio_voice = QtWidgets.QPushButton(self.vedio_bar) self.vedio_voice.setEnabled(False) self.vedio_voice.move(0, 10) self.vedio_voice.setMinimumSize(QtCore.QSize(50, 50)) self.vedio_voice.setMaximumSize(QtCore.QSize(50, 50)) self.vedio_voice.setText("") icon9 = QtGui.QIcon() icon9.addPixmap(QtGui.QPixmap("window_png/音量.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_voice.setIcon(icon9) self.vedio_voice.setIconSize(QtCore.QSize(50, 50)) self.vedio_voice.setObjectName("vedio_voice") self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) #设置槽函数 self.player = QMediaPlayer() self.player.setVideoOutput(self.widget) #设置时间函数 self.timer = QTimer() self.timer.start(1000) self.timer.timeout.connect(lambda: self.onTimerOut()) self.actionl1.triggered.connect(lambda: self.openfile()) self.vedio_play.clicked.connect(lambda: self.playpause()) self.vedio_forward.clicked.connect(lambda: self.uptime()) self.vedio_back.clicked.connect(lambda: self.downtime()) self.sld_duration.sliderMoved.connect(lambda: self.changetime()) self.sld.sliderMoved.connect(lambda: self.changevoice()) #点击添加文件事件 def openfile(self): media_list = QMediaContent(QFileDialog.getOpenFileUrl()[0]) self.player.setMedia(media_list) self.player.play() self.player.pause() #点击视频停止事件 def playpause(self): if self.player.state() == 1: self.player.pause() icon9 = QtGui.QIcon() icon9.addPixmap(QtGui.QPixmap("window_png/播放.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_play.setIcon(icon9) self.vedio_play.setIconSize(QtCore.QSize(50, 50)) else: self.player.play() icon9 = QtGui.QIcon() icon9.addPixmap(QtGui.QPixmap("window_png/暂停.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.vedio_play.setIcon(icon9) self.vedio_play.setIconSize(QtCore.QSize(50, 50)) #设置时间函数 def onTimerOut(self): alltime = self.player.duration() ms = self.player.position() minutes = int(ms / 60000) seconds = int((ms - minutes * 60000) / 1000) minute = int(alltime / 60000) sec = int((alltime - minute * 60000) / 1000) self.lab_duration.setText('{}:{}/{}:{}'.format(minutes, seconds, minute, sec)) self.sld_duration.setMaximum(alltime) self.sld_duration.setValue(ms) self.sld.setValue(self.player.volume()) self.lab.setText('{}%'.format(self.player.volume())) #设置快进事件 def uptime(self): num = self.player.position() + int(self.player.duration() / 20) self.player.setPosition(num) #设置快退事件 def downtime(self): num = self.player.position() - int(self.player.duration() / 20) self.player.setPosition(num) #设置鼠标改变进度条事件 def changetime(self): self.timer.stop() num = self.sld_duration.value() self.player.setPosition(num) self.timer.start() #设置鼠标改变声音事件 def changevoice(self): num = self.sld.value() self.player.setVolume(num) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.lab_duration.setText(_translate("MainWindow", "----/----")) self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar")) self.actionl1.setText(_translate("MainWindow", "添加文件")) self.actionl1_2.setText(_translate("MainWindow", "开始分析"))