class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.widget = QVideoWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(130, 110, 641, 371)) self.widget.setStyleSheet("background-color: rgb(222, 222, 222);") self.widget.setObjectName("widget") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 30)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
class IntroWindow(QMainWindow, Form): def __init__(self): Form.__init__(self) QMainWindow.__init__(self) self.setWindowIcon(QIcon("logo.png")) p = self.palette() p.setColor(QPalette.Window, Qt.gray) self.setPalette(p) self.setupUi(self) self.a = 1 self.videowidget = QVideoWidget() self.vertical.addWidget(self.videowidget) self.videoplayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.videoplayer.setVideoOutput(self.videowidget) self.sliderfilm.setRange(0, 0) self.volume.setRange(0, 100) self.videoplayer.setVolume(100) self.volume.setValue(100) self.play.setEnabled(False) self.increaseRate.setEnabled(False) self.decreaseRate.setEnabled(False) self.sliderfilm.installEventFilter(self) self.volume.installEventFilter(self) self.frames.installEventFilter(self) self.frame_2.installEventFilter(self) self.frames.installEventFilter(self) # putting Icons on buttons self.increaseRate.setIcon(self.style().standardIcon( QStyle.SP_MediaSeekForward)) self.decreaseRate.setIcon(self.style().standardIcon( QStyle.SP_MediaSeekBackward)) self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.open.setIcon(self.style().standardIcon(QStyle.SP_DirHomeIcon)) self.skipforward.setIcon(self.style().standardIcon( QStyle.SP_MediaSkipForward)) self.skipback.setIcon(self.style().standardIcon( QStyle.SP_MediaSkipBackward)) self.stop.setIcon(self.style().standardIcon(QStyle.SP_MediaStop)) self.sliderfilm.sliderMoved.connect(self.setpos) self.videoplayer.positionChanged.connect(self.position) self.videoplayer.durationChanged.connect(self.changed) self.videoplayer.volumeChanged.connect(self.setvolpos) self.volume.sliderMoved.connect(self.setvolpos) self.actionOpen.triggered.connect(self.Loadvideo) self.actionSearch_By_Tag.triggered.connect(self.opensecond) self.actionFullscreen.triggered.connect(self.screen) self.skipforward.clicked.connect(self.skipforw) self.skipback.clicked.connect(self.skipbac) self.increaseRate.clicked.connect(self.incRate) self.decreaseRate.clicked.connect(self.decRate) self.play.clicked.connect(self.play_video) self.open.clicked.connect(lambda: self.Loadvideo(self.videoplayer)) self.stop.clicked.connect(self.stopp) self.listView.hide() self.tolfilm = 0 self.listviewstatus = 0 self.listbtn.clicked.connect(lambda: self.list()) self.listView.itemClicked.connect(self.listwidgetclicked) self.theme1.triggered.connect(lambda: self.theme01()) self.theme2.triggered.connect(lambda: self.theme02()) self.theme3.triggered.connect(lambda: self.theme03()) self.theme4.triggered.connect(lambda: self.theme04()) self.actionFarsi.triggered.connect(lambda: self.farsi()) self.actionEnglish.triggered.connect(lambda: self.english()) self.filename = "" self.x = 0 self.videowidget3 = QVideoWidget() self.verticalLayout_8.addWidget(self.videowidget3) self.videoplayer3 = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.videoplayer3.setVideoOutput(self.videowidget3) self.widget.hide() self.stop.setEnabled(False) self.m = 0 self.dataL = [] with open("config.txt") as f: self.config = f.read() if int(self.config) == 11: self.theme01() self.farsi() if int(self.config) == 12: self.theme01() self.english() elif int(self.config) == 21: self.farsi() self.theme02() elif int(self.config) == 22: self.english() self.theme02() elif int(self.config) == 31: self.farsi() self.theme03() elif int(self.config) == 32: self.english() self.theme03() elif int(self.config) == 41: self.farsi() self.theme04() elif int(self.config) == 42: self.english() self.theme04() def farsi(self): self.menuLanguage.setTitle("زبان") self.menuView.setTitle("نمایش") self.theme1.setText("تم ۱") self.theme2.setText("تم ۲") self.theme3.setText("تم ۳") self.theme4.setText("تم ۴") self.menuFile.setTitle("فایل") self.actionOpen.setText("باز کردن ویدیو") self.actionSearch_By_Tag.setText("پنل تگ ها") self.actionFullscreen.setText("تمام صفحه") self.actionEnglish.setText("انگلیسی") self.actionFarsi.setText("فارسی") self.decreaseRate.setStatusTip("کاهش سرعت") self.decreaseRate.setToolTip("کاهش سرعت") self.increaseRate.setStatusTip("افزایش سرعت") self.increaseRate.setToolTip("افزایش سرعت") self.open.setStatusTip("باز کردن ویدیو") self.open.setToolTip("باز کردن ویدیو") self.stop.setStatusTip("توقف") self.stop.setToolTip("توقف") self.skipback.setStatusTip("عقب رفتن") self.skipback.setToolTip("عقب رفتن") self.play.setStatusTip("شروع/ایست") self.play.setToolTip("شروع/ایست") self.skipforward.setStatusTip("جلو رفتن") self.skipforward.setToolTip("جلو رفتن") self.volume.setStatusTip("صدا") self.volume.setToolTip("صدا") self.listbtn.setStatusTip("دسترسی آسان") self.listbtn.setToolTip( "پنلی شامل تگ ها و پنجره ای برای پیش نمایش را نمایان/پنهان میکند که با کلیک کردن بر روی هر کدام ویدیو به آن لحظه میرود" ) with open("config.txt") as f: self.config = f.read() if int(self.config) // 10 == 1: with open("config.txt", "w") as f2: f2.write("11") if int(self.config) // 10 == 2: with open("config.txt", "w") as f2: f2.write("21") if int(self.config) // 10 == 3: with open("config.txt", "w") as f2: f2.write("31") if int(self.config) // 10 == 4: with open("config.txt", "w") as f2: f2.write("41") def english(self): self.menuLanguage.setTitle("Language") self.menuView.setTitle("View") self.theme1.setText("Theme1") self.theme2.setText("Theme2") self.theme3.setText("Theme3") self.theme4.setText("Theme4") self.menuFile.setTitle("File") self.actionOpen.setText("Open Video") self.actionSearch_By_Tag.setText("Tags Panel") self.actionFullscreen.setText("Fullscreen") self.actionEnglish.setText("English") self.actionFarsi.setText("Persian") self.decreaseRate.setStatusTip("Decrease Play Speed") self.decreaseRate.setToolTip("Decrease Play Speed") self.increaseRate.setStatusTip("Increase Play Speed") self.increaseRate.setToolTip("Increase Play Speed") self.open.setStatusTip("Open Video") self.open.setToolTip("Open Video") self.stop.setStatusTip("Stop") self.stop.setToolTip("Stop") self.skipback.setStatusTip("Previous") self.skipback.setToolTip("Previous") self.play.setStatusTip("Play/Pause") self.play.setToolTip("Play/Pause") self.skipforward.setStatusTip("Next") self.skipforward.setToolTip("Next") self.volume.setStatusTip("Volume") self.volume.setToolTip("Volume") self.listbtn.setStatusTip("Easy Access") self.listbtn.setToolTip( "Shows/Hides a panel for the tags that can be clicked on to take the video to its moment and also a preview window" ) with open("config.txt") as f: self.config = f.read() if self.config == "": with open("config.txt", w) as f2: f2.write("11") self.config = "11" if int(self.config) // 10 == 1: with open("config.txt", "w") as f2: f2.write("12") if int(self.config) // 10 == 2: with open("config.txt", "w") as f2: f2.write("22") if int(self.config) // 10 == 3: with open("config.txt", "w") as f2: f2.write("32") if int(self.config) // 10 == 4: with open("config.txt", "w") as f2: f2.write("42") def moviess(self): x = self.filename.split("/") file_name = self.filename[:self.filename.find(x[len(x) - 1])] png = "" png2 = "" folders = os.listdir(file_name + r"/") for file in folders: if file.find(".mp4") > 0: png = png + ";" + file_name + file png2 = ";" + file_name + file + png2 png = png + ";" self.png = png png2 = png2 + ";" self.png2 = png2 def hoverleave(self): self.widget.hide() def gotovolume(self): x, _ = win32api.GetCursorPos() self.videoplayer.setVolume( int((x - self.mapToGlobal(self.volume.pos()).x()) / self.volume.width() * 100)) self.volume.setValue( int((x - self.mapToGlobal(self.volume.pos()).x()) / self.volume.width() * 100)) if self.m % 2 == 1: self.m += 1 self.videoplayer.setMuted(False) def goto(self): x, _ = win32api.GetCursorPos() if self.filename != "": self.videoplayer.setPosition( (x - self.mapToGlobal(self.sliderfilm.pos()).x()) / self.sliderfilm.width() * self.dur * 1000) def onHovered(self): x, _ = win32api.GetCursorPos() if self.filename != "": if self.listviewstatus % 2 == 1: self.videoplayer3.setPosition( (x - self.mapToGlobal(self.sliderfilm.pos()).x()) / self.sliderfilm.width() * self.dur * 1000) self.widget.show() def eventFilter(self, obj, event): if obj == self.sliderfilm and event.type() == QtCore.QEvent.HoverMove: self.onHovered() elif (obj == self.frames or obj == self.frame_2) and event.type() == QtCore.QEvent.Enter: self.hoverleave() elif obj == self.sliderfilm and event.type( ) == QtCore.QEvent.MouseButtonPress: self.goto() elif obj == self.volume and event.type( ) == QtCore.QEvent.MouseButtonPress: self.gotovolume() elif obj == self.frames and event.type( ) == QtCore.QEvent.MouseButtonDblClick: if not self.isFullScreen(): self.fulls() else: self.unfull() return super(QMainWindow, self).eventFilter(obj, event) def stopp(self): self.stop.setEnabled(False) self.videoplayer.stop() self.videoplayer.setPosition(0) self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) def listwidgetclicked(self, item): t = item.text() t = t[t.find(">") + 1:] pt = datetime.strptime(t, "%H:%M:%S") total_seconds = pt.second + pt.minute * 60 + pt.hour * 3600 if self.a == 0: self.videoplayer.setPosition(total_seconds * 1000) def list(self): if self.listviewstatus % 2 == 1: self.listView.hide() self.widget.hide() self.listbtn.setText("^") self.listviewstatus += 1 else: self.listbtn.setText("v") self.listviewstatus += 1 self.listView.show() def keyPressEvent(self, e): if e.key() == Qt.Key_Escape: if self.isFullScreen(): self.unfull() elif e.key() == Qt.Key_6: if self.filename != "": self.videoplayer.setPosition(self.videoplayer.position() + 5000) elif e.key() == Qt.Key_4: if self.filename != "": self.videoplayer.setPosition(self.videoplayer.position() - 5000) elif e.key() == Qt.Key_Space: if self.filename != "": self.play_video() elif e.key() == Qt.Key_M: if self.m % 2 == 0: self.m += 1 self.videoplayer.setMuted(True) self.volume.setEnabled(False) self.vvv = self.volume.value() self.volume.setValue(0) else: self.m += 1 self.volume.setValue(self.vvv) self.volume.setEnabled(True) self.videoplayer.setMuted(False) def screen(self): if not self.isFullScreen(): self.fulls() else: self.unfull() # forward media 5s def skipforw(self): a = self.png.find(self.filename) aa = self.png.find(";", a + 1) filename = self.png[aa + 1:self.png.find(";", aa + 1)] if filename != "": self.filename = filename self.videoplayer.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.videoplayer3.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) title = filename.split("/") title = title[len(title) - 1] self.setWindowTitle(f"Taz Player openning{title}") self.videoplayer3.play() self.videoplayer3.pause() self.widget.hide() self.videoplayer.setPosition(0) self.videoplayer.play() self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPause)) clip = VideoFileClip(filename) self.dur = clip.duration def skipbac(self): a = self.png2.find(self.filename) aa = self.png2.find(";", a + 1) filename = self.png2[aa + 1:self.png2.find(";", aa + 1)] if filename != "": self.filename = filename self.videoplayer.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.videoplayer3.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) title = filename.split("/") title = title[len(title) - 1] self.setWindowTitle(f"Taz Player openning{title}") self.videoplayer3.play() self.videoplayer3.pause() self.widget.hide() self.videoplayer.setPosition(0) self.videoplayer.play() self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPause)) clip = VideoFileClip(filename) self.dur = clip.duration # set increase rate def incRate(self): if self.videoplayer.playbackRate() == 0: x = self.videoplayer.playbackRate() + 1 else: x = self.videoplayer.playbackRate() self.videoplayer.setPlaybackRate(x + 0.25) # set decrease rate def decRate(self): if self.videoplayer.playbackRate() == 0: x = self.videoplayer.playbackRate() + 1 else: x = self.videoplayer.playbackRate() self.videoplayer.setPlaybackRate(x - 0.25) # Handling Tags def fillListView(self): for i in range(len(self.dataL)): self.listView.addItem(self.dataL[i][0] + "->" + self.dataL[i][1]) def updateTagFile(self): fname = self.fileName.split(".") fname = fname[0] with open(fname + ".csv", mode="w") as f: writer = csv.writer( f, delimiter=",", quotechar='"', quoting=csv.QUOTE_MINIMAL, lineterminator="\n", ) for line in self.dataL: writer.writerow(line) def giveTime(self): vidPos = self.videoplayer.position() h = int(vidPos / 1000 // 3600) m = int((vidPos / 1000 - h * 3600) // 60) s = int(((vidPos / 1000 - h * 3600 - m * 60) % 60) % 60) * 100 // 100 if h < 10: h = "0" + str(h) if m < 10: m = "0" + str(m) if s < 10: s = "0" + str(s) return f"{h}:{m}:{s}" def insertTag(self, tableWidget): t = tableWidget tag = "New Tag" tagTime = self.giveTime() l = len(self.dataL) i = 0 flag = False while tagTime > self.dataL[i][1]: i += 1 if i >= l: break if i < l: if tagTime == self.dataL[i][1]: flag = True if not flag: self.dataL.insert(i, [tag, tagTime]) t.insertRow(i) t.setItem( i, 0, QTableWidgetItem(tag), ) t.setItem( i, 1, QTableWidgetItem(tagTime), ) t.editItem(t.item(i, 0)) def removeRow(self, tableWidget): if len(self.dataL) > 0: self.dataL.remove(self.dataL[tableWidget.currentRow()]) tableWidget.removeRow(tableWidget.currentRow()) def updateList(self, tableWidget): for i in range(tableWidget.rowCount()): self.dataL[i] = [ tableWidget.item(i, 0).text(), tableWidget.item(i, 1).text(), ] def undoChanges(self): fname = self.fileName.split(".") fname = fname[0] with open(fname + ".csv", mode="r+") as f: data = csv.reader(f) self.dataL = list(data) def fillTable(self, tableWidget): tableWidget.setRowCount(len(self.dataL)) for i in range(len(self.dataL)): tableWidget.setItem(i, 0, QTableWidgetItem(self.dataL[i][0])) tableWidget.setItem(i, 1, QTableWidgetItem(self.dataL[i][1])) def openTagFile(self): filename, _ = QFileDialog.getOpenFileName( self, "Open Tag File", filter="*.csv", ) if filename != "": self.fileName = filename with open(filename, mode="r+") as f: data = csv.reader(f) self.dataL = list(data) def opensecond(self): login_page = LoginPage() login_page.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) if int(self.config) % 10 == 1: login_page.Save.setText("برو به") login_page.apply.setText("اعمال تغییرات") login_page.buttonBox.button(QDialogButtonBox.Ok).setText("تایید") login_page.buttonBox.button( QDialogButtonBox.Cancel).setText("انصراف") login_page.AddRow.setText("افزودن تگ") login_page.DeleteRow.setText("حذف تگ") login_page.OpenTagButton.setText("باز کردن فایل تگ") login_page.tableWidget.setHorizontalHeaderLabels(["تگ", "زمان"]) else: login_page.tableWidget.setHorizontalHeaderLabels(["Tag", "Time"]) self.fillTable(login_page.tableWidget) login_page.buttonBox.accepted.connect(lambda: [ self.updateList(login_page.tableWidget), self.listbtn.setFocus(), self.listView.clear(), self.fillListView(), self.updateTagFile(), ]) login_page.buttonBox.rejected.connect(lambda: [ self.listbtn.setFocus(), self.undoChanges(), ]) login_page.apply.clicked.connect(lambda: [ self.updateList(login_page.tableWidget), self.listView.clear(), self.fillListView(), ]) login_page.AddRow.clicked.connect(lambda: [ self.insertTag(login_page.tableWidget), ]) login_page.Save.clicked.connect(lambda: [ login_page.shows(self), self.updateList(login_page.tableWidget), self.listbtn.setFocus(), self.listView.clear(), self.fillListView(), ]) login_page.DeleteRow.clicked.connect(lambda: [ self.removeRow(login_page.tableWidget), ]) login_page.OpenTagButton.clicked.connect(lambda: [ self.openTagFile(), self.fillTable(login_page.tableWidget), self.listView.clear(), self.fillListView(), ]) login_page.tableWidget.sortByColumn(1, Qt.AscendingOrder) # if int(self.config) % 10 == 2: # login_page.tableWidget.setHorizontalHeaderLabels(["Tag", "Time"]) # else: # login_page.tableWidget.setHorizontalHeaderLabels(["تگ", "زمان"]) login_page.exec_() # End of Handling Tags def fulls(self): self.decreaseRate.hide() self.increaseRate.hide() self.centralwidget.setContentsMargins(0, 0, 0, 0) self.play.hide() self.open.hide() self.skipforward.hide() self.skipback.hide() self.label.hide() self.label_2.hide() self.volume.hide() self.menubar.hide() self.sliderfilm.hide() self.statusBar.hide() self.showFullScreen() self.listbtn.hide() self.widget.hide() self.listView.hide() self.frame_2.hide() self.stop.hide() self.listviewstatus = 1 def unfull(self): self.frame_2.show() self.stop.show() self.list() self.centralwidget.setContentsMargins(10, 10, 10, 10) self.decreaseRate.show() self.increaseRate.show() self.play.show() self.open.show() self.skipforward.show() self.skipback.show() self.label.show() self.label_2.show() self.volume.show() self.menubar.show() self.sliderfilm.show() self.statusBar.show() self.showNormal() self.listbtn.show() ##setting position of film def setpos(self, position): self.videoplayer.setPosition(position) def position(self, position): position2 = self.tolfilm * 1000 - position + 1000 hour = int((position / 3600000) % 24) hour2 = int((position2 / 3600000) % 24) if hour < 10: hour = "0" + str(hour) if hour2 < 10: hour2 = "0" + str(hour2) minute = int((position / 60000) % 60) minute2 = int((position2 / 60000) % 60) if minute < 10: minute = "0" + str(minute) if minute2 < 10: minute2 = "0" + str(minute2) second = int((position / 1000) % 60) second2 = int((position2 / 1000) % 60) if second < 10: second = "0" + str(second) if second2 < 10: second2 = "0" + str(second2) self.label.setText(f"{hour}:{minute}:{second}") self.label_2.setText(f"{hour2}:{minute2}:{second2}") self.sliderfilm.setValue(position) if position2 < 1000: self.videoplayer.stop() self.sliderfilm.setValue(0) self.stop.setEnabled(False) self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) def changed(self, duration): self.sliderfilm.setRange(0, duration) ##setting position of volume def setvolpos(self, position): self.videoplayer.setVolume(position) ##open button or open from menu bar def Loadvideo(self, videoplayer): self.a = 0 filename, _ = QFileDialog.getOpenFileName( self, "Open Video", filter="*.mp4;*.mov;*.wmv;*.webm;*.wmv;*.m4v;*.m4a;*.flv", ) if filename != "": self.videoplayer.setPosition(0) self.filename = filename if filename != "": self.fileName = filename.split(".")[0] fname = filename.split(".") fnmae = fname[0] if os.path.isfile(fnmae + ".csv"): with open(fnmae + ".csv", mode="r+") as f: data = csv.reader(f) self.dataL = list(data) self.listView.clear(), self.fillListView() clip = VideoFileClip(filename) self.dur = clip.duration self.videoplayer.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.videoplayer3.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.moviess() clip = VideoFileClip(filename) self.tolfilm = int(clip.duration) title = filename.split("/") title = title[len(title) - 1] self.setWindowTitle(f"Taz Player openning : {title}") self.videoplayer3.play() self.videoplayer3.pause() self.widget.hide() self.stop.setEnabled(True) self.videoplayer.play() self.play.setEnabled(True) self.play.setIcon(self.style().standardIcon( QStyle.SP_MediaPause)) self.increaseRate.setEnabled(True) self.decreaseRate.setEnabled(True) ##play button def play_video(self): if self.videoplayer.state() == QMediaPlayer.PlayingState: self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.videoplayer.pause() else: self.videoplayer.play() self.stop.setEnabled(True) self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPause)) def theme01(self): self.videowidget.setStyleSheet("background-color: #404040") self.setStyleSheet("background-color: #A0A0A0") if self.theme1.text() == "Theme1": with open("config.txt", "w") as f: f.write("12") else: with open("config.txt", "w") as f: f.write("11") def theme02(self): self.videowidget.setStyleSheet("background-color: #330019") self.setStyleSheet("background-color: #990000") if self.theme1.text() == "Theme1": with open("config.txt", "w") as f: f.write("22") else: with open("config.txt", "w") as f: f.write("21") def theme03(self): self.videowidget.setStyleSheet("background-color: #35557F") self.setStyleSheet("background-color: #003366") if self.theme1.text() == "Theme1": with open("config.txt", "w") as f: f.write("32") else: with open("config.txt", "w") as f: f.write("31") def theme04(self): self.videowidget.setStyleSheet("background-color: #00FF00") self.setStyleSheet("background-color: #4C9900") if self.theme1.text() == "Theme1": with open("config.txt", "w") as f: f.write("42") else: with open("config.txt", "w") as f: f.write("41")
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setWindowModality(QtCore.Qt.NonModal) MainWindow.resize(999, 749) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setStyleSheet("") MainWindow.setAnimated(True) self.centralwidget = QtWidgets.QWidget(MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.centralwidget.sizePolicy().hasHeightForWidth()) self.centralwidget.setSizePolicy(sizePolicy) self.centralwidget.setObjectName("centralwidget") self.first_mediaplayer = QtWidgets.QFrame(self.centralwidget) self.first_mediaplayer.setGeometry(QtCore.QRect(540, 0, 461, 301)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.first_mediaplayer.sizePolicy().hasHeightForWidth()) self.first_mediaplayer.setSizePolicy(sizePolicy) self.first_mediaplayer.setStyleSheet("") self.first_mediaplayer.setFrameShape(QtWidgets.QFrame.StyledPanel) self.first_mediaplayer.setFrameShadow(QtWidgets.QFrame.Raised) self.first_mediaplayer.setObjectName("first_mediaplayer") self.time_slider = QtWidgets.QSlider(self.first_mediaplayer) self.time_slider.setGeometry(QtCore.QRect(58, 240, 311, 31)) self.time_slider.setOrientation(QtCore.Qt.Horizontal) self.time_slider.setObjectName("time_slider") self.current_time_label = QtWidgets.QLabel(self.first_mediaplayer) self.current_time_label.setGeometry(QtCore.QRect(20, 248, 60, 16)) self.current_time_label.setObjectName("current_time_label") self.time_left_label = QtWidgets.QLabel(self.first_mediaplayer) self.time_left_label.setGeometry(QtCore.QRect(380, 248, 60, 16)) self.time_left_label.setObjectName("time_left_label") self.video_player = QVideoWidget(self.first_mediaplayer) self.video_player.setEnabled(True) self.video_player.setGeometry(QtCore.QRect(15, 19, 421, 211)) self.video_player.setAutoFillBackground(False) self.video_player.setStyleSheet( "background-color: rgb(255, 255, 255);") self.video_player.setObjectName("video_player") self.volume_control = QtWidgets.QSlider(self.first_mediaplayer) self.volume_control.setGeometry(QtCore.QRect(340, 262, 101, 22)) self.volume_control.setOrientation(QtCore.Qt.Horizontal) self.volume_control.setObjectName("volume_control") self.pauseButton = QtWidgets.QPushButton(self.first_mediaplayer) self.pauseButton.setGeometry(QtCore.QRect(150, 260, 31, 31)) self.pauseButton.setAutoFillBackground(False) self.pauseButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.pauseButton.setText("") icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/pause1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pauseButton.setIcon(icon) self.pauseButton.setIconSize(QtCore.QSize(31, 31)) self.pauseButton.setObjectName("pauseButton") self.playButton = QtWidgets.QPushButton(self.first_mediaplayer) self.playButton.setGeometry(QtCore.QRect(190, 260, 31, 31)) self.playButton.setAutoFillBackground(False) self.playButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.playButton.setText("") icon1 = QtGui.QIcon() icon1.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/play1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.playButton.setIcon(icon1) self.playButton.setIconSize(QtCore.QSize(31, 31)) self.playButton.setObjectName("playButton") self.nextButton = QtWidgets.QPushButton(self.first_mediaplayer) self.nextButton.setGeometry(QtCore.QRect(229, 260, 31, 31)) self.nextButton.setAutoFillBackground(False) self.nextButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.nextButton.setText("") icon2 = QtGui.QIcon() icon2.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/next_vid1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.nextButton.setIcon(icon2) self.nextButton.setIconSize(QtCore.QSize(31, 31)) self.nextButton.setObjectName("nextButton") self.stopButton = QtWidgets.QPushButton(self.first_mediaplayer) self.stopButton.setGeometry(QtCore.QRect(110, 260, 31, 31)) self.stopButton.setAutoFillBackground(False) self.stopButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.stopButton.setText("") icon3 = QtGui.QIcon() icon3.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/stop1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.stopButton.setIcon(icon3) self.stopButton.setIconSize(QtCore.QSize(31, 31)) self.stopButton.setObjectName("stopButton") self.muteButton = QtWidgets.QPushButton(self.first_mediaplayer) self.muteButton.setGeometry(QtCore.QRect(278, 262, 23, 23)) self.muteButton.setAutoFillBackground(False) self.muteButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.muteButton.setText("") icon4 = QtGui.QIcon() icon4.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/mute1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.muteButton.setIcon(icon4) self.muteButton.setIconSize(QtCore.QSize(31, 31)) self.muteButton.setObjectName("muteButton") self.volumeButton = QtWidgets.QPushButton(self.first_mediaplayer) self.volumeButton.setGeometry(QtCore.QRect(310, 261, 23, 23)) self.volumeButton.setAutoFillBackground(False) self.volumeButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.volumeButton.setText("") icon5 = QtGui.QIcon() icon5.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/volume1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.volumeButton.setIcon(icon5) self.volumeButton.setIconSize(QtCore.QSize(31, 31)) self.volumeButton.setObjectName("volumeButton") self.mini_viewer = QtWidgets.QFrame(self.centralwidget) self.mini_viewer.setGeometry(QtCore.QRect(10, 300, 991, 411)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mini_viewer.sizePolicy().hasHeightForWidth()) self.mini_viewer.setSizePolicy(sizePolicy) self.mini_viewer.setStyleSheet("") self.mini_viewer.setFrameShape(QtWidgets.QFrame.StyledPanel) self.mini_viewer.setFrameShadow(QtWidgets.QFrame.Raised) self.mini_viewer.setObjectName("mini_viewer") self.timeline_1 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_1.setGeometry(QtCore.QRect(50, 80, 891, 21)) self.timeline_1.setStyleSheet("") self.timeline_1.setObjectName("timeline_1") self.mini_view_1 = QtWidgets.QGraphicsView(self.mini_viewer) self.mini_view_1.setGeometry(QtCore.QRect(50, 110, 891, 81)) self.mini_view_1.setStyleSheet("") self.mini_view_1.setObjectName("mini_view_1") self.timeline_2 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_2.setGeometry(QtCore.QRect(50, 210, 891, 21)) self.timeline_2.setStyleSheet("") self.timeline_2.setObjectName("timeline_2") self.mini_view_2 = QtWidgets.QGraphicsView(self.mini_viewer) self.mini_view_2.setGeometry(QtCore.QRect(50, 320, 891, 81)) self.mini_view_2.setStyleSheet("") self.mini_view_2.setObjectName("mini_view_2") self.push_extract_1 = QtWidgets.QPushButton(self.mini_viewer) self.push_extract_1.setGeometry(QtCore.QRect(40, 40, 141, 31)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.push_extract_1.sizePolicy().hasHeightForWidth()) self.push_extract_1.setSizePolicy(sizePolicy) self.push_extract_1.setStyleSheet("") self.push_extract_1.setObjectName("push_extract_1") self.timeline_3 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_3.setGeometry(QtCore.QRect(50, 250, 891, 21)) self.timeline_3.setStyleSheet("") self.timeline_3.setObjectName("timeline_3") self.timeline_4 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_4.setEnabled(False) self.timeline_4.setGeometry(QtCore.QRect(50, 290, 891, 21)) self.timeline_4.setStyleSheet("") self.timeline_4.setObjectName("timeline_4") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setEnabled(True) self.tabWidget.setGeometry(QtCore.QRect(20, 0, 511, 301)) self.tabWidget.setObjectName("tabWidget") self.tab1 = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tab1.sizePolicy().hasHeightForWidth()) self.tab1.setSizePolicy(sizePolicy) self.tab1.setObjectName("tab1") self.playlistView = QtWidgets.QListView(self.tab1) self.playlistView.setEnabled(True) self.playlistView.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.playlistView.setObjectName("playlistView") self.tabWidget.addTab(self.tab1, "") self.tab_2 = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tab_2.sizePolicy().hasHeightForWidth()) self.tab_2.setSizePolicy(sizePolicy) self.tab_2.setObjectName("tab_2") self.treeView2 = QtWidgets.QTreeView(self.tab_2) self.treeView2.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.treeView2.setAcceptDrops(True) self.treeView2.setObjectName("treeView2") self.tabWidget.addTab(self.tab_2, "") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.treeView2_2 = QtWidgets.QTreeView(self.tab) self.treeView2_2.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.treeView2_2.setAcceptDrops(True) self.treeView2_2.setObjectName("treeView2_2") self.pushButton = QtWidgets.QPushButton(self.tab) self.pushButton.setEnabled(False) self.pushButton.setGeometry(QtCore.QRect(80, 10, 112, 32)) self.pushButton.setObjectName("pushButton") self.tabWidget.addTab(self.tab, "") MainWindow.setCentralWidget(self.centralwidget) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 999, 22)) self.menuBar.setToolTipDuration(0) self.menuBar.setObjectName("menuBar") self.menuHelp = QtWidgets.QMenu(self.menuBar) self.menuHelp.setObjectName("menuHelp") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuFiles = QtWidgets.QMenu(self.menuBar) self.menuFiles.setObjectName("menuFiles") MainWindow.setMenuBar(self.menuBar) self.actionLicense = QtWidgets.QAction(MainWindow) self.actionLicense.setObjectName("actionLicense") self.actionAdd_Files = QtWidgets.QAction(MainWindow) self.actionAdd_Files.setCheckable(True) self.actionAdd_Files.setChecked(False) self.actionAdd_Files.setObjectName("actionAdd_Files") self.actionAbout = QtWidgets.QAction(MainWindow) self.actionAbout.setObjectName("actionAbout") self.menuHelp.addAction(self.actionLicense) self.menuFiles.addAction(self.actionAdd_Files) self.menuBar.addAction(self.menuFiles.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.current_time_label.setText(_translate("MainWindow", "0:00")) self.time_left_label.setText(_translate("MainWindow", "0:00")) self.push_extract_1.setText(_translate("MainWindow", "Extract Videos")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab1), _translate("MainWindow", "Original Videos")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Extracted Videos")) self.pushButton.setText(_translate("MainWindow", "PushButton")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Model")) self.menuHelp.setTitle(_translate("MainWindow", "Help")) self.menuEdit.setTitle(_translate("MainWindow", "Edit")) self.menuView.setTitle(_translate("MainWindow", "View")) self.menuFiles.setTitle(_translate("MainWindow", "Files")) self.actionLicense.setText(_translate("MainWindow", "License")) self.actionAdd_Files.setText(_translate("MainWindow", "Add Files")) self.actionAbout.setText(_translate("MainWindow", "About"))
class Ui_Dialog(object): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(1260, 721) Dialog.setStyleSheet("") self.WidgetWindow = QtWidgets.QWidget(Dialog) self.WidgetWindow.setGeometry(QtCore.QRect(0, 0, 1261, 731)) self.WidgetWindow.setStyleSheet("QWidget#WidgetWindow{background:rgb(0, 170, 255)}") self.WidgetWindow.setObjectName("WidgetWindow") self.tabMenu = QtWidgets.QTabWidget(self.WidgetWindow) self.tabMenu.setGeometry(QtCore.QRect(20, 50, 871, 581)) self.tabMenu.setStyleSheet("background-image: url(./image/hw2.png);") self.tabMenu.setObjectName("tabMenu") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.player1 = QVideoWidget(self.tab) self.player1.setGeometry(QtCore.QRect(0, 0, 871, 541)) self.player1.setStyleSheet("background-image:url(./image/hw2.png);\n" "") self.player1.setObjectName("player1") self.tabMenu.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.player2 = QVideoWidget(self.tab_2) self.player2.setGeometry(QtCore.QRect(0, 0, 871, 541)) self.player2.setStyleSheet("background-image: url(./image/hw3.png);") self.player2.setObjectName("player2") self.tabMenu.addTab(self.tab_2, "") self.clearButtom = QtWidgets.QPushButton(self.WidgetWindow) self.clearButtom.setGeometry(QtCore.QRect(410, 640, 88, 42)) self.clearButtom.setObjectName("clearButtom") self.layoutWidget = QtWidgets.QWidget(self.WidgetWindow) self.layoutWidget.setGeometry(QtCore.QRect(910, 80, 321, 44)) self.layoutWidget.setObjectName("layoutWidget") self.horizontalLayout = QtWidgets.QHBoxLayout(self.layoutWidget) self.horizontalLayout.setContentsMargins(0, 0, 0, 0) self.horizontalLayout.setObjectName("horizontalLayout") self.startButtom = QtWidgets.QPushButton(self.layoutWidget) self.startButtom.setObjectName("startButtom") self.horizontalLayout.addWidget(self.startButtom) self.progressBar = QtWidgets.QProgressBar(self.layoutWidget) self.progressBar.setProperty("value", 0) self.progressBar.setObjectName("progressBar") self.horizontalLayout.addWidget(self.progressBar) self.processLabel = QtWidgets.QLabel(self.layoutWidget) self.processLabel.setMinimumSize(QtCore.QSize(52, 0)) self.processLabel.setTextFormat(QtCore.Qt.PlainText) self.processLabel.setObjectName("processLabel") self.horizontalLayout.addWidget(self.processLabel) self.titleLable = QtWidgets.QLabel(self.WidgetWindow) self.titleLable.setGeometry(QtCore.QRect(330, 20, 601, 31)) self.titleLable.setStyleSheet("font: 25pt \"楷体\";") self.titleLable.setObjectName("titleLable") self.table1 = QtWidgets.QTableWidget(self.WidgetWindow) self.table1.setGeometry(QtCore.QRect(910, 230, 321, 181)) self.table1.setObjectName("table1") self.table1.setColumnCount(1) self.table1.setRowCount(3) item = QtWidgets.QTableWidgetItem() self.table1.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.table1.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.table1.setVerticalHeaderItem(2, item) item = QtWidgets.QTableWidgetItem() self.table1.setHorizontalHeaderItem(0, item) self.table1.horizontalHeader().setDefaultSectionSize(250) self.table1.horizontalHeader().setMinimumSectionSize(33) self.table1.verticalHeader().setDefaultSectionSize(46) self.table2 = QtWidgets.QTableWidget(self.WidgetWindow) self.table2.setGeometry(QtCore.QRect(910, 480, 321, 141)) self.table2.setObjectName("table2") self.table2.setColumnCount(1) self.table2.setRowCount(2) item = QtWidgets.QTableWidgetItem() self.table2.setVerticalHeaderItem(0, item) item = QtWidgets.QTableWidgetItem() self.table2.setVerticalHeaderItem(1, item) item = QtWidgets.QTableWidgetItem() self.table2.setHorizontalHeaderItem(0, item) self.table2.horizontalHeader().setDefaultSectionSize(250) self.table2.horizontalHeader().setMinimumSectionSize(33) self.table2.verticalHeader().setDefaultSectionSize(46) self.label = QtWidgets.QLabel(self.WidgetWindow) self.label.setGeometry(QtCore.QRect(910, 200, 62, 26)) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(self.WidgetWindow) self.label_2.setGeometry(QtCore.QRect(910, 450, 62, 26)) self.label_2.setObjectName("label_2") self.Digit = QtWidgets.QLCDNumber(self.WidgetWindow) self.Digit.setGeometry(QtCore.QRect(910, 140, 101, 51)) self.Digit.setStyleSheet("color: rgb(255, 85, 0);") self.Digit.setSmallDecimalPoint(True) self.Digit.setDigitCount(3) self.Digit.setProperty("value", 99.0) self.Digit.setObjectName("Digit") self.Digit_2 = QtWidgets.QLCDNumber(self.WidgetWindow) self.Digit_2.setGeometry(QtCore.QRect(1010, 790, 64, 23)) self.Digit_2.setObjectName("Digit_2") self.label_3 = QtWidgets.QLabel(self.WidgetWindow) self.label_3.setGeometry(QtCore.QRect(1030, 150, 62, 26)) self.label_3.setObjectName("label_3") self.layoutWidget1 = QtWidgets.QWidget(Dialog) self.layoutWidget1.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.layoutWidget1.setObjectName("layoutWidget1") self.verticalLayout = QtWidgets.QVBoxLayout(self.layoutWidget1) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("verticalLayout") self.layoutWidget2 = QtWidgets.QWidget(Dialog) self.layoutWidget2.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.layoutWidget2.setObjectName("layoutWidget2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget2) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.splitter = QtWidgets.QSplitter(Dialog) self.splitter.setGeometry(QtCore.QRect(0, 0, 0, 0)) self.splitter.setOrientation(QtCore.Qt.Horizontal) self.splitter.setObjectName("splitter") self.splitter_2 = QtWidgets.QSplitter(Dialog) self.splitter_2.setGeometry(QtCore.QRect(0, 0, 0, 0)) self.splitter_2.setOrientation(QtCore.Qt.Vertical) self.splitter_2.setObjectName("splitter_2") self.layoutWidget3 = QtWidgets.QWidget(Dialog) self.layoutWidget3.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.layoutWidget3.setObjectName("layoutWidget3") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.layoutWidget3) self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.layoutWidget4 = QtWidgets.QWidget(Dialog) self.layoutWidget4.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.layoutWidget4.setObjectName("layoutWidget4") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.layoutWidget4) self.verticalLayout_3.setContentsMargins(0, 0, 0, 0) self.verticalLayout_3.setObjectName("verticalLayout_3") self.layoutWidget5 = QtWidgets.QWidget(Dialog) self.layoutWidget5.setGeometry(QtCore.QRect(0, 0, 2, 2)) self.layoutWidget5.setObjectName("layoutWidget5") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.layoutWidget5) self.verticalLayout_4.setContentsMargins(0, 0, 0, 0) self.verticalLayout_4.setObjectName("verticalLayout_4") self.retranslateUi(Dialog) self.tabMenu.setCurrentIndex(0) self.clearButtom.clicked.connect(self.table2.clearContents) self.clearButtom.clicked.connect(self.table1.clearContents) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.tabMenu.setTabText(self.tabMenu.indexOf(self.tab), _translate("Dialog", "设备1")) self.tabMenu.setTabText(self.tabMenu.indexOf(self.tab_2), _translate("Dialog", "设备2")) self.clearButtom.setText(_translate("Dialog", "clear")) self.startButtom.setText(_translate("Dialog", "connect")) self.processLabel.setText(_translate("Dialog", "progress")) self.titleLable.setText(_translate("Dialog", "智慧工地人员安全小助手—小湖")) item = self.table1.verticalHeaderItem(0) item.setText(_translate("Dialog", "检测人数")) item = self.table1.verticalHeaderItem(1) item.setText(_translate("Dialog", "反光衣")) item = self.table1.verticalHeaderItem(2) item.setText(_translate("Dialog", "安全帽")) item = self.table1.horizontalHeaderItem(0) item.setText(_translate("Dialog", "系数")) item = self.table2.verticalHeaderItem(0) item.setText(_translate("Dialog", "跌倒检测")) item = self.table2.verticalHeaderItem(1) item.setText(_translate("Dialog", "烟雾检测")) item = self.table2.horizontalHeaderItem(0) item.setText(_translate("Dialog", "系数")) self.label.setText(_translate("Dialog", "安全检测")) self.label_2.setText(_translate("Dialog", "事故检测")) self.label_3.setText(_translate("Dialog", "准确率"))
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1709, 898) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setFamily("Microsoft YaHei UI Light") font.setPointSize(12) MainWindow.setFont(font) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) self.horizontalLayout.setObjectName("horizontalLayout") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setEnabled(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tabWidget.sizePolicy().hasHeightForWidth()) self.tabWidget.setSizePolicy(sizePolicy) self.tabWidget.setAutoFillBackground(False) self.tabWidget.setStyleSheet("") self.tabWidget.setObjectName("tabWidget") self.gen_markers_tab = QtWidgets.QWidget() self.gen_markers_tab.setObjectName("gen_markers_tab") self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.gen_markers_tab) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.frame = QtWidgets.QFrame(self.gen_markers_tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame.sizePolicy().hasHeightForWidth()) self.frame.setSizePolicy(sizePolicy) self.frame.setMinimumSize(QtCore.QSize(0, 0)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.verticalLayout = QtWidgets.QVBoxLayout(self.frame) self.verticalLayout.setObjectName("verticalLayout") self.groupBox = QtWidgets.QGroupBox(self.frame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox.sizePolicy().hasHeightForWidth()) self.groupBox.setSizePolicy(sizePolicy) self.groupBox.setMinimumSize(QtCore.QSize(300, 0)) self.groupBox.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.groupBox.setAutoFillBackground(False) self.groupBox.setObjectName("groupBox") self.gridLayout_3 = QtWidgets.QGridLayout(self.groupBox) self.gridLayout_3.setObjectName("gridLayout_3") self.label = QtWidgets.QLabel(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) self.label.setMinimumSize(QtCore.QSize(120, 0)) self.label.setObjectName("label") self.gridLayout_3.addWidget(self.label, 0, 0, 1, 1) self.gen_markers_arucoDict = QtWidgets.QComboBox(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_arucoDict.sizePolicy().hasHeightForWidth()) self.gen_markers_arucoDict.setSizePolicy(sizePolicy) self.gen_markers_arucoDict.setObjectName("gen_markers_arucoDict") self.gridLayout_3.addWidget(self.gen_markers_arucoDict, 0, 1, 1, 1) self.gen_markers_dpi = QtWidgets.QSpinBox(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_dpi.sizePolicy().hasHeightForWidth()) self.gen_markers_dpi.setSizePolicy(sizePolicy) self.gen_markers_dpi.setMaximum(64000) self.gen_markers_dpi.setSingleStep(1) self.gen_markers_dpi.setProperty("value", 300) self.gen_markers_dpi.setObjectName("gen_markers_dpi") self.gridLayout_3.addWidget(self.gen_markers_dpi, 3, 1, 1, 1) self.gen_markers_save_btn = QtWidgets.QPushButton(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_save_btn.sizePolicy().hasHeightForWidth()) self.gen_markers_save_btn.setSizePolicy(sizePolicy) self.gen_markers_save_btn.setMinimumSize(QtCore.QSize(120, 0)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("Resources/icons/diskette.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gen_markers_save_btn.setIcon(icon) self.gen_markers_save_btn.setIconSize(QtCore.QSize(30, 30)) self.gen_markers_save_btn.setObjectName("gen_markers_save_btn") self.gridLayout_3.addWidget(self.gen_markers_save_btn, 4, 0, 1, 1) self.gen_markers_size = QtWidgets.QDoubleSpinBox(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_size.sizePolicy().hasHeightForWidth()) self.gen_markers_size.setSizePolicy(sizePolicy) self.gen_markers_size.setSingleStep(0.5) self.gen_markers_size.setProperty("value", 10.0) self.gen_markers_size.setObjectName("gen_markers_size") self.gridLayout_3.addWidget(self.gen_markers_size, 2, 1, 1, 1) self.label_4 = QtWidgets.QLabel(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_4.sizePolicy().hasHeightForWidth()) self.label_4.setSizePolicy(sizePolicy) self.label_4.setMinimumSize(QtCore.QSize(120, 0)) self.label_4.setObjectName("label_4") self.gridLayout_3.addWidget(self.label_4, 3, 0, 1, 1) self.gen_markers_num = QtWidgets.QSpinBox(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_num.sizePolicy().hasHeightForWidth()) self.gen_markers_num.setSizePolicy(sizePolicy) self.gen_markers_num.setMaximum(50) self.gen_markers_num.setProperty("value", 5) self.gen_markers_num.setObjectName("gen_markers_num") self.gridLayout_3.addWidget(self.gen_markers_num, 1, 1, 1, 1) self.label_2 = QtWidgets.QLabel(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) self.label_2.setMinimumSize(QtCore.QSize(120, 0)) self.label_2.setObjectName("label_2") self.gridLayout_3.addWidget(self.label_2, 1, 0, 1, 1) self.label_3 = QtWidgets.QLabel(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_3.sizePolicy().hasHeightForWidth()) self.label_3.setSizePolicy(sizePolicy) self.label_3.setMinimumSize(QtCore.QSize(120, 0)) self.label_3.setObjectName("label_3") self.gridLayout_3.addWidget(self.label_3, 2, 0, 1, 1) self.gen_markers_run_btn = QtWidgets.QPushButton(self.groupBox) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_markers_run_btn.sizePolicy().hasHeightForWidth()) self.gen_markers_run_btn.setSizePolicy(sizePolicy) self.gen_markers_run_btn.setLayoutDirection(QtCore.Qt.LeftToRight) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap("Resources/icons/qr-code.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gen_markers_run_btn.setIcon(icon1) self.gen_markers_run_btn.setIconSize(QtCore.QSize(30, 30)) self.gen_markers_run_btn.setObjectName("gen_markers_run_btn") self.gridLayout_3.addWidget(self.gen_markers_run_btn, 4, 1, 1, 1) self.verticalLayout.addWidget(self.groupBox) self.label_10 = QtWidgets.QLabel(self.frame) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_10.sizePolicy().hasHeightForWidth()) self.label_10.setSizePolicy(sizePolicy) self.label_10.setObjectName("label_10") self.verticalLayout.addWidget(self.label_10) spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout.addItem(spacerItem) self.horizontalLayout_2.addWidget(self.frame) self.gen_marker_Gview = QtWidgets.QWidget(self.gen_markers_tab) self.gen_marker_Gview.setStyleSheet( "background-color:rgb(0, 170, 255);\\n") self.gen_marker_Gview.setObjectName("gen_marker_Gview") self.gridLayout_4 = QtWidgets.QGridLayout(self.gen_marker_Gview) self.gridLayout_4.setObjectName("gridLayout_4") self.horizontalLayout_2.addWidget(self.gen_marker_Gview) self.tabWidget.addTab(self.gen_markers_tab, "") self.gen_board_tab = QtWidgets.QWidget() self.gen_board_tab.setObjectName("gen_board_tab") self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.gen_board_tab) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.frame_2 = QtWidgets.QFrame(self.gen_board_tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame_2.sizePolicy().hasHeightForWidth()) self.frame_2.setSizePolicy(sizePolicy) self.frame_2.setMinimumSize(QtCore.QSize(0, 0)) self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_2.setObjectName("frame_2") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frame_2) self.verticalLayout_2.setObjectName("verticalLayout_2") self.groupBox_2 = QtWidgets.QGroupBox(self.frame_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_2.sizePolicy().hasHeightForWidth()) self.groupBox_2.setSizePolicy(sizePolicy) self.groupBox_2.setMinimumSize(QtCore.QSize(300, 0)) self.groupBox_2.setMaximumSize(QtCore.QSize(16777215, 16777215)) self.groupBox_2.setAutoFillBackground(False) self.groupBox_2.setObjectName("groupBox_2") self.gridLayout_2 = QtWidgets.QGridLayout(self.groupBox_2) self.gridLayout_2.setObjectName("gridLayout_2") self.label_6 = QtWidgets.QLabel(self.groupBox_2) self.label_6.setObjectName("label_6") self.gridLayout_2.addWidget(self.label_6, 1, 0, 1, 1) self.gen_board_scr_w = QtWidgets.QSpinBox(self.groupBox_2) self.gen_board_scr_w.setMaximum(1000000) self.gen_board_scr_w.setProperty("value", 2560) self.gen_board_scr_w.setObjectName("gen_board_scr_w") self.gridLayout_2.addWidget(self.gen_board_scr_w, 1, 1, 1, 1) self.gen_board_run_btn = QtWidgets.QPushButton(self.groupBox_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_board_run_btn.sizePolicy().hasHeightForWidth()) self.gen_board_run_btn.setSizePolicy(sizePolicy) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap("Resources/icons/chessboard.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.gen_board_run_btn.setIcon(icon2) self.gen_board_run_btn.setIconSize(QtCore.QSize(30, 30)) self.gen_board_run_btn.setObjectName("gen_board_run_btn") self.gridLayout_2.addWidget(self.gen_board_run_btn, 3, 1, 1, 1) self.label_9 = QtWidgets.QLabel(self.groupBox_2) self.label_9.setObjectName("label_9") self.gridLayout_2.addWidget(self.label_9, 2, 0, 1, 1) self.gen_board_scr_h = QtWidgets.QSpinBox(self.groupBox_2) self.gen_board_scr_h.setMaximum(1000000) self.gen_board_scr_h.setProperty("value", 1440) self.gen_board_scr_h.setObjectName("gen_board_scr_h") self.gridLayout_2.addWidget(self.gen_board_scr_h, 2, 1, 1, 1) self.gen_board_save_btn = QtWidgets.QPushButton(self.groupBox_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_board_save_btn.sizePolicy().hasHeightForWidth()) self.gen_board_save_btn.setSizePolicy(sizePolicy) self.gen_board_save_btn.setIcon(icon) self.gen_board_save_btn.setIconSize(QtCore.QSize(30, 30)) self.gen_board_save_btn.setObjectName("gen_board_save_btn") self.gridLayout_2.addWidget(self.gen_board_save_btn, 3, 0, 1, 1) self.label_5 = QtWidgets.QLabel(self.groupBox_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy) self.label_5.setObjectName("label_5") self.gridLayout_2.addWidget(self.label_5, 0, 0, 1, 1) self.gen_board_arucoDict = QtWidgets.QComboBox(self.groupBox_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.gen_board_arucoDict.sizePolicy().hasHeightForWidth()) self.gen_board_arucoDict.setSizePolicy(sizePolicy) self.gen_board_arucoDict.setObjectName("gen_board_arucoDict") self.gridLayout_2.addWidget(self.gen_board_arucoDict, 0, 1, 1, 1) self.verticalLayout_2.addWidget(self.groupBox_2) self.label_11 = QtWidgets.QLabel(self.frame_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_11.sizePolicy().hasHeightForWidth()) self.label_11.setSizePolicy(sizePolicy) self.label_11.setObjectName("label_11") self.verticalLayout_2.addWidget(self.label_11) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_2.addItem(spacerItem1) self.horizontalLayout_3.addWidget(self.frame_2) self.gen_board_Gview = QtWidgets.QWidget(self.gen_board_tab) self.gen_board_Gview.setStyleSheet( "background-color:rgb(0, 170, 255);\\n") self.gen_board_Gview.setObjectName("gen_board_Gview") self.gridLayout_5 = QtWidgets.QGridLayout(self.gen_board_Gview) self.gridLayout_5.setObjectName("gridLayout_5") self.horizontalLayout_3.addWidget(self.gen_board_Gview) self.tabWidget.addTab(self.gen_board_tab, "") self.calibration_tab = QtWidgets.QWidget() self.calibration_tab.setObjectName("calibration_tab") self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.calibration_tab) self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.frame_3 = QtWidgets.QFrame(self.calibration_tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame_3.sizePolicy().hasHeightForWidth()) self.frame_3.setSizePolicy(sizePolicy) self.frame_3.setMinimumSize(QtCore.QSize(250, 0)) self.frame_3.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_3.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_3.setObjectName("frame_3") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.frame_3) self.verticalLayout_3.setObjectName("verticalLayout_3") self.groupBox_3 = QtWidgets.QGroupBox(self.frame_3) self.groupBox_3.setObjectName("groupBox_3") self.verticalLayout_4 = QtWidgets.QVBoxLayout(self.groupBox_3) self.verticalLayout_4.setObjectName("verticalLayout_4") self.frame_4 = QtWidgets.QFrame(self.groupBox_3) self.frame_4.setMinimumSize(QtCore.QSize(0, 0)) self.frame_4.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_4.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_4.setObjectName("frame_4") self.gridLayout = QtWidgets.QGridLayout(self.frame_4) self.gridLayout.setObjectName("gridLayout") self.label_13 = QtWidgets.QLabel(self.frame_4) self.label_13.setObjectName("label_13") self.gridLayout.addWidget(self.label_13, 0, 0, 1, 1) self.calibrate_aruco_dict = QtWidgets.QComboBox(self.frame_4) self.calibrate_aruco_dict.setObjectName("calibrate_aruco_dict") self.gridLayout.addWidget(self.calibrate_aruco_dict, 0, 1, 1, 1) self.label_7 = QtWidgets.QLabel(self.frame_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_7.sizePolicy().hasHeightForWidth()) self.label_7.setSizePolicy(sizePolicy) self.label_7.setObjectName("label_7") self.gridLayout.addWidget(self.label_7, 1, 0, 1, 1) self.calibrate_screen_width = QtWidgets.QSpinBox(self.frame_4) self.calibrate_screen_width.setMaximum(1000000) self.calibrate_screen_width.setProperty("value", 2560) self.calibrate_screen_width.setObjectName("calibrate_screen_width") self.gridLayout.addWidget(self.calibrate_screen_width, 1, 1, 1, 1) self.label_8 = QtWidgets.QLabel(self.frame_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_8.sizePolicy().hasHeightForWidth()) self.label_8.setSizePolicy(sizePolicy) self.label_8.setObjectName("label_8") self.gridLayout.addWidget(self.label_8, 2, 0, 1, 1) self.calibrate_screem_height = QtWidgets.QSpinBox(self.frame_4) self.calibrate_screem_height.setMaximum(1000000) self.calibrate_screem_height.setProperty("value", 1440) self.calibrate_screem_height.setDisplayIntegerBase(10) self.calibrate_screem_height.setObjectName("calibrate_screem_height") self.gridLayout.addWidget(self.calibrate_screem_height, 2, 1, 1, 1) self.label_12 = QtWidgets.QLabel(self.frame_4) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label_12.sizePolicy().hasHeightForWidth()) self.label_12.setSizePolicy(sizePolicy) self.label_12.setObjectName("label_12") self.gridLayout.addWidget(self.label_12, 3, 0, 1, 1) self.calibrate_screen_inches = QtWidgets.QDoubleSpinBox(self.frame_4) self.calibrate_screen_inches.setDecimals(1) self.calibrate_screen_inches.setMaximum(10000.0) self.calibrate_screen_inches.setSingleStep(0.1) self.calibrate_screen_inches.setProperty("value", 27.0) self.calibrate_screen_inches.setObjectName("calibrate_screen_inches") self.gridLayout.addWidget(self.calibrate_screen_inches, 3, 1, 1, 1) self.calibrate_progress = QtWidgets.QProgressBar(self.frame_4) self.calibrate_progress.setProperty("value", 0) self.calibrate_progress.setObjectName("calibrate_progress") self.gridLayout.addWidget(self.calibrate_progress, 4, 0, 1, 1) self.calibrate_start_btn = QtWidgets.QPushButton(self.frame_4) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap("Resources/icons/speedometer.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.calibrate_start_btn.setIcon(icon3) self.calibrate_start_btn.setObjectName("calibrate_start_btn") self.gridLayout.addWidget(self.calibrate_start_btn, 4, 1, 1, 1) self.verticalLayout_4.addWidget(self.frame_4) self.label_14 = QtWidgets.QLabel(self.groupBox_3) self.label_14.setObjectName("label_14") self.verticalLayout_4.addWidget(self.label_14) self.calibrate_load_photo = QtWidgets.QPushButton(self.groupBox_3) icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap("Resources/icons/camera.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.calibrate_load_photo.setIcon(icon4) self.calibrate_load_photo.setAutoRepeat(False) self.calibrate_load_photo.setAutoDefault(True) self.calibrate_load_photo.setDefault(False) self.calibrate_load_photo.setFlat(False) self.calibrate_load_photo.setObjectName("calibrate_load_photo") self.verticalLayout_4.addWidget(self.calibrate_load_photo) self.calibrate_photo_list = QtWidgets.QListWidget(self.groupBox_3) self.calibrate_photo_list.setEditTriggers( QtWidgets.QAbstractItemView.DoubleClicked) self.calibrate_photo_list.setObjectName("calibrate_photo_list") self.verticalLayout_4.addWidget(self.calibrate_photo_list) self.verticalLayout_3.addWidget(self.groupBox_3) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.calibrate_load_settings = QtWidgets.QPushButton(self.frame_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.calibrate_load_settings.sizePolicy().hasHeightForWidth()) self.calibrate_load_settings.setSizePolicy(sizePolicy) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap("Resources/icons/settings.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.calibrate_load_settings.setIcon(icon5) self.calibrate_load_settings.setObjectName("calibrate_load_settings") self.horizontalLayout_5.addWidget(self.calibrate_load_settings) self.verticalLayout_3.addLayout(self.horizontalLayout_5) self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.calibrate_save_settings = QtWidgets.QPushButton(self.frame_3) self.calibrate_save_settings.setIcon(icon) self.calibrate_save_settings.setObjectName("calibrate_save_settings") self.horizontalLayout_6.addWidget(self.calibrate_save_settings) self.verticalLayout_3.addLayout(self.horizontalLayout_6) self.horizontalLayout_4.addWidget(self.frame_3) self.calibrate_Gview = QtWidgets.QWidget(self.calibration_tab) self.calibrate_Gview.setStyleSheet( "background-color:rgb(0, 170, 255);\\n") self.calibrate_Gview.setObjectName("calibrate_Gview") self.gridLayout_6 = QtWidgets.QGridLayout(self.calibrate_Gview) self.gridLayout_6.setObjectName("gridLayout_6") self.horizontalLayout_4.addWidget(self.calibrate_Gview) self.tabWidget.addTab(self.calibration_tab, "") self.video_tracking_tab = QtWidgets.QWidget() self.video_tracking_tab.setObjectName("video_tracking_tab") self.horizontalLayout_8 = QtWidgets.QHBoxLayout( self.video_tracking_tab) self.horizontalLayout_8.setObjectName("horizontalLayout_8") self.frame_5 = QtWidgets.QFrame(self.video_tracking_tab) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.frame_5.sizePolicy().hasHeightForWidth()) self.frame_5.setSizePolicy(sizePolicy) self.frame_5.setMinimumSize(QtCore.QSize(0, 0)) self.frame_5.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame_5.setFrameShadow(QtWidgets.QFrame.Raised) self.frame_5.setObjectName("frame_5") self.horizontalLayout_7 = QtWidgets.QHBoxLayout(self.frame_5) self.horizontalLayout_7.setObjectName("horizontalLayout_7") self.groupBox_5 = QtWidgets.QGroupBox(self.frame_5) self.groupBox_5.setObjectName("groupBox_5") self.horizontalLayout_7.addWidget(self.groupBox_5) self.video = QVideoWidget(self.frame_5) self.video.setStyleSheet("background-color:rgb(0, 170, 255);\\n") self.video.setObjectName("video") self.horizontalLayout_7.addWidget(self.video) self.horizontalLayout_8.addWidget(self.frame_5) self.tabWidget.addTab(self.video_tracking_tab, "") self.calibration_errors_tab = QtWidgets.QWidget() self.calibration_errors_tab.setObjectName("calibration_errors_tab") self.tabWidget.addTab(self.calibration_errors_tab, "") self.horizontalLayout.addWidget(self.tabWidget) self.groupBox_4 = QtWidgets.QGroupBox(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.groupBox_4.sizePolicy().hasHeightForWidth()) self.groupBox_4.setSizePolicy(sizePolicy) self.groupBox_4.setMinimumSize(QtCore.QSize(250, 20)) self.groupBox_4.setObjectName("groupBox_4") self.gridLayout_7 = QtWidgets.QGridLayout(self.groupBox_4) self.gridLayout_7.setObjectName("gridLayout_7") self.label_18 = QtWidgets.QLabel(self.groupBox_4) self.label_18.setObjectName("label_18") self.gridLayout_7.addWidget(self.label_18, 1, 2, 1, 1) self.label_20 = QtWidgets.QLabel(self.groupBox_4) self.label_20.setObjectName("label_20") self.gridLayout_7.addWidget(self.label_20, 2, 2, 1, 1) self.label_19 = QtWidgets.QLabel(self.groupBox_4) self.label_19.setObjectName("label_19") self.gridLayout_7.addWidget(self.label_19, 2, 0, 1, 1) spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.gridLayout_7.addItem(spacerItem2, 3, 0, 1, 1) self.label_16 = QtWidgets.QLabel(self.groupBox_4) self.label_16.setObjectName("label_16") self.gridLayout_7.addWidget(self.label_16, 0, 2, 1, 1) self.label_15 = QtWidgets.QLabel(self.groupBox_4) self.label_15.setObjectName("label_15") self.gridLayout_7.addWidget(self.label_15, 0, 0, 1, 1) self.line_2 = QtWidgets.QFrame(self.groupBox_4) self.line_2.setFrameShadow(QtWidgets.QFrame.Plain) self.line_2.setLineWidth(5) self.line_2.setFrameShape(QtWidgets.QFrame.VLine) self.line_2.setObjectName("line_2") self.gridLayout_7.addWidget(self.line_2, 2, 1, 1, 1) self.label_17 = QtWidgets.QLabel(self.groupBox_4) self.label_17.setObjectName("label_17") self.gridLayout_7.addWidget(self.label_17, 1, 0, 1, 1) self.line = QtWidgets.QFrame(self.groupBox_4) self.line.setFrameShadow(QtWidgets.QFrame.Plain) self.line.setLineWidth(5) self.line.setFrameShape(QtWidgets.QFrame.VLine) self.line.setObjectName("line") self.gridLayout_7.addWidget(self.line, 0, 1, 1, 1) self.line_3 = QtWidgets.QFrame(self.groupBox_4) self.line_3.setFrameShadow(QtWidgets.QFrame.Plain) self.line_3.setLineWidth(5) self.line_3.setFrameShape(QtWidgets.QFrame.VLine) self.line_3.setObjectName("line_3") self.gridLayout_7.addWidget(self.line_3, 1, 1, 1, 1) self.horizontalLayout.addWidget(self.groupBox_4) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1709, 21)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(3) self.gen_markers_arucoDict.setCurrentIndex(-1) self.gen_board_arucoDict.setCurrentIndex(-1) QtCore.QMetaObject.connectSlotsByName(MainWindow) MainWindow.setTabOrder(self.gen_markers_arucoDict, self.gen_markers_num) MainWindow.setTabOrder(self.gen_markers_num, self.gen_markers_size) MainWindow.setTabOrder(self.gen_markers_size, self.gen_markers_dpi) MainWindow.setTabOrder(self.gen_markers_dpi, self.gen_markers_run_btn) MainWindow.setTabOrder(self.gen_markers_run_btn, self.gen_markers_save_btn) MainWindow.setTabOrder(self.gen_markers_save_btn, self.gen_board_arucoDict) MainWindow.setTabOrder(self.gen_board_arucoDict, self.gen_board_scr_w) MainWindow.setTabOrder(self.gen_board_scr_w, self.gen_board_scr_h) MainWindow.setTabOrder(self.gen_board_scr_h, self.gen_board_run_btn) MainWindow.setTabOrder(self.gen_board_run_btn, self.gen_board_save_btn) MainWindow.setTabOrder(self.gen_board_save_btn, self.calibrate_aruco_dict) MainWindow.setTabOrder(self.calibrate_aruco_dict, self.calibrate_screen_width) MainWindow.setTabOrder(self.calibrate_screen_width, self.calibrate_screem_height) MainWindow.setTabOrder(self.calibrate_screem_height, self.calibrate_screen_inches) MainWindow.setTabOrder(self.calibrate_screen_inches, self.calibrate_start_btn) MainWindow.setTabOrder(self.calibrate_start_btn, self.calibrate_load_photo) MainWindow.setTabOrder(self.calibrate_load_photo, self.calibrate_load_settings) MainWindow.setTabOrder(self.calibrate_load_settings, self.calibrate_save_settings) MainWindow.setTabOrder(self.calibrate_save_settings, self.calibrate_photo_list) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.groupBox.setTitle(_translate("MainWindow", "Пареметры")) self.label.setText(_translate("MainWindow", "*Набор меток")) self.gen_markers_save_btn.setText(_translate("MainWindow", "Сохранить")) self.label_4.setText(_translate("MainWindow", "*DPI печати принтера")) self.label_2.setText(_translate("MainWindow", "*Количество меток")) self.label_3.setText(_translate("MainWindow", "*Размер метки, мм")) self.gen_markers_run_btn.setText( _translate("MainWindow", "Сгенерировать")) self.label_10.setText( _translate("MainWindow", "(*поле обязательное для заполнения)")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.gen_markers_tab), _translate("MainWindow", "Генерация меток")) self.groupBox_2.setTitle(_translate("MainWindow", "Пареметры")) self.label_6.setText(_translate("MainWindow", "*Ширина монитора, px")) self.gen_board_run_btn.setText( _translate("MainWindow", "Сгенерировать")) self.label_9.setText(_translate("MainWindow", "*Высота монитора, px")) self.gen_board_save_btn.setText(_translate("MainWindow", "Сохранить")) self.label_5.setText(_translate("MainWindow", "*Набор меток")) self.label_11.setText( _translate("MainWindow", "(*поле обязательное для заполнения)")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.gen_board_tab), _translate("MainWindow", "Генерация доски для калибровки")) self.groupBox_3.setTitle( _translate("MainWindow", "Параметры калибровки")) self.label_13.setText(_translate("MainWindow", "*Набор меток")) self.label_7.setText(_translate("MainWindow", "*Ширина монитора, px")) self.label_8.setText(_translate("MainWindow", "*Высота монитора, px")) self.label_12.setText( _translate("MainWindow", "*Диагональ монитора в дюймах")) self.calibrate_start_btn.setText( _translate("MainWindow", "Откалибровать")) self.label_14.setText( _translate("MainWindow", "(*поле обязательное для заполнения)")) self.calibrate_load_photo.setText( _translate("MainWindow", "Загрузить фотографии")) self.calibrate_load_settings.setText( _translate("MainWindow", "Загрузить настройки калибровки")) self.calibrate_save_settings.setText( _translate("MainWindow", "Сохранить настройки калибровки")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.calibration_tab), _translate("MainWindow", "Калибровка камеры")) self.groupBox_5.setTitle(_translate("MainWindow", "GroupBox")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.video_tracking_tab), _translate("MainWindow", "Видеотрекинг")) self.tabWidget.setTabText( self.tabWidget.indexOf(self.calibration_errors_tab), _translate("MainWindow", "Вычисление ошибок калибровки")) self.groupBox_4.setTitle( _translate("MainWindow", "Систмема распознавания")) self.label_18.setText(_translate("MainWindow", "-")) self.label_20.setText(_translate("MainWindow", "-")) self.label_19.setText(_translate("MainWindow", "Набор меток:")) self.label_16.setText(_translate("MainWindow", "Нет")) self.label_15.setText( _translate("MainWindow", "Система откалибрована:")) self.label_17.setText( _translate("MainWindow", "Сотношение сторон фотографий:"))
def init_ui(self): conf_for_blank = ''' QPushButton{ border: none; margin: 0px; padding: 0px; background-color:#F0F0F0; } ''' config = ''' QPushButton{ border: none; margin: 0px; padding: 0px; background-color:#F0F0F0; } QPushButton:hover{ background-color: #B4B4B4; border-radius:7px; width: 30px; } ''' global hboxLayout global hboxLayout2 global vboxLayout global videowidget global openBtn # создание экземпляра(объекта) класса QMediaPlayer() и передача аргуметов # QMediaPlayer.VideoSurface указывает что он 'служит' для воспроизведения видео self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) # создание экземпляра(объекта) класса QVideoWidget() videowidget = QVideoWidget() videowidget.setStyleSheet('background-color: #B4B4B4;') # создание button(кнопки открыть) openBtn = QPushButton() openBtn.setStyleSheet(config) openBtn.setIcon(QIcon(resource_path(r'ico\folders.png'))) openBtn.setIconSize(QSize(20, 20)) openBtn.clicked.connect(self.open_file) openBtn.setToolTip('Открытие папок для просмотра файлов') openBtn.setToolTipDuration(2500) # создание button (кнопки для запуска) self.playBtn = QPushButton() self.playBtn.setEnabled(False) self.playBtn.setFlat(True) self.playBtn.setStyleSheet(config) self.playBtn.setIcon(QIcon(resource_path(r'ico\play.png'))) self.playBtn.setIconSize(QSize(40, 40)) self.playBtn.clicked.connect(self.play_video) # self.playBtn.clicked.connect(self.play_video) # создание button(кнопки для перемотки вперед) self.forwardBtn = QPushButton() self.forwardBtn.setEnabled(False) self.forwardBtn.setIcon(QIcon(resource_path(r'ico\forward.png'))) self.forwardBtn.setStyleSheet(config) self.forwardBtn.setIconSize(QSize(20, 20)) self.forwardBtn.clicked.connect(self.go_forward) # создание button (для перемотки назад) self.backBtn = QPushButton() self.backBtn.setEnabled(False) self.backBtn.setIcon(QIcon(resource_path(r'ico\backward .png'))) self.backBtn.setStyleSheet(config) self.backBtn.setIconSize(QSize(20, 20)) self.backBtn.clicked.connect(self.go_back) # для volume(громкости) self.volumeBtn = QPushButton() self.volumeBtn.setObjectName('volume_btn') self.volumeBtn.setIcon(QIcon(resource_path(r'ico\volume1.png'))) self.volumeBtn.setStyleSheet(config) self.volumeBtn.setIconSize(QSize(17, 17)) self.volumeBtn.clicked.connect(self.volume) # настройка button(кнопок) self.screenBtn = QPushButton() self.screenBtn.setObjectName('fullscreen') self.screenBtn.setStyleSheet(config) self.screenBtn.setIcon(QIcon(resource_path(r'ico\fullscreen.png'))) self.screenBtn.setIconSize(QSize(19, 19)) self.screenBtn.clicked.connect(self.full_screen) self.screenBtn.setToolTip('Переключить на полноэкранный размер') self.screenBtn.setToolTipDuration(2500) # ----- кнопки для пустых мест ----- # # создание button (для окна настроек) self.imageBtn = QPushButton() self.imageBtn.setIcon(QIcon(resource_path(r'ico\photo.png'))) self.imageBtn.setToolTip( 'Открывает второе окно которое позволяет взимодействовать с изображениями' ) self.imageBtn.setIconSize((QSize(18, 18))) self.imageBtn.setEnabled(True) self.imageBtn.setStyleSheet(config) self.themeBtn = Switch(thumb_radius=11, track_radius=8) self.themeBtn.setObjectName('default') self.themeBtn.setToolTip('Изменить задний фон') self.themeBtn.clicked.connect(self.change_to_dark_theme) self.blankBtn = QPushButton() self.blankBtn.setEnabled(False) self.blankBtn.setStyleSheet(conf_for_blank) # --------------------------------------- # # создание slider'а self.slider = MySlider(orient=Qt.Horizontal) self.slider.sliderMoved.connect(self.set_position) # создания slider для volume self.hslider = MySlider(orient=Qt.Horizontal) self.hslider.setRange(0, 100) self.hslider.setMaximumHeight(7) self.hslider.sliderMoved.connect(self.set_volume_position) self.hslider.setMaximumWidth(80) self.hslider.setSliderPosition(100) # создания label'а self.label1 = QLabel('0:00 /') self.label1.setToolTip('Прошло времени') self.label1.setFont(QFont('SansSerif', 8, QFont.Bold)) self.label2 = QLabel('0:00') self.label2.setToolTip('Общая продолжительность') self.label2.setFont(QFont('SansSerif', 8, QFont.Bold)) # создание hbox layout hboxLayout = QHBoxLayout() hboxLayout.setContentsMargins(0, 0, 0, 0) # создание hbox2 layout hboxLayout2 = QHBoxLayout() hboxLayout.setContentsMargins(0, 0, 0, 0) # добавления виджетов в hbox2 layout hboxLayout2.addWidget(self.label1) hboxLayout2.addWidget(self.label2) hboxLayout2.addWidget(self.slider) hboxLayout2.addWidget(self.volumeBtn) hboxLayout2.addWidget(self.hslider) # добавления виджетов в hbox layout hboxLayout.addWidget(self.themeBtn) hboxLayout.addWidget(self.blankBtn) hboxLayout.addWidget(openBtn) hboxLayout.addWidget(self.backBtn) hboxLayout.addWidget(self.playBtn) hboxLayout.addWidget(self.forwardBtn) hboxLayout.addWidget(self.imageBtn) hboxLayout.addWidget(self.screenBtn) # self.frame = MyFrame() vboxLayout = QVBoxLayout() # vboxLayout.addWidget(MyFrame()) vboxLayout.addWidget(videowidget) vboxLayout.addLayout(hboxLayout2) vboxLayout.addLayout(hboxLayout) self.setLayout(vboxLayout) self.mediaPlayer.setVideoOutput(videowidget) # обработчики медиа сигналов self.mediaPlayer.stateChanged.connect(self.media_state_changed) self.mediaPlayer.positionChanged.connect(self.position_changed) self.mediaPlayer.durationChanged.connect(self.duration_changed) self.mediaPlayer.volumeChanged.connect(self.set_volume_position) self.mediaPlayer.durationChanged.connect(self.duration_volume) # Несколько функций которые вызываются во время взаимодействия с клавишами для удобства self.volumeMinSc = QShortcut(QKeySequence('Down'), self) self.volumeMinSc.activated.connect(self.min_volume) self.volumePlusSc = QShortcut(QKeySequence('Up'), self) self.volumePlusSc.activated.connect(self.plus_volume) self.forwardSc = QShortcut(QKeySequence('Right'), self) self.forwardSc.activated.connect(self.go_forward_with_key) self.backSc = QShortcut(QKeySequence('Left'), self) self.backSc.activated.connect(self.go_back_with_key) self.fullscreenSc = QShortcut(QKeySequence('F'), self) self.fullscreenSc.activated.connect(self.full_screen)
class videoPlayer(QWidget): # 视频播放类 def __init__(self, parent=None): # 构造函数 super(videoPlayer, self).__init__(parent=parent) # 类的继承 self.mainwindow = parent self.length = 0 # 视频总时长 self.position = 0 # 视频当前时长 self.count = 0 self.player_status = -1 # 设置窗口 self.setGeometry(300, 50, 800, 600) #大小,与桌面放置位置 # self.setWindowIcon(QIcon(':/images/video_player_icon.png')) # 程序图标 # self.setWindowTitle(titleName) # 窗口名称 # self.setWindowFlags(Qt.WindowCloseButtonHint | Qt.WindowMinimizeButtonHint) # 设置窗口背景 self.palette = QPalette() self.palette.setColor(QPalette.Background, Qt.black) self.setPalette(self.palette) self.now_position = QLabel("/ 00:00") # 目前时间进度 self.all_duration = QLabel('00:00') # 总的时间进度 self.all_duration.setStyleSheet('''QLabel{color:#000000}''') self.now_position.setStyleSheet('''QLabel{color:#000000}''') #视频插件 self.video_widget = QVideoWidget(self) self.video_widget.setGeometry(QRect(0, 0, 1200, 700)) #大小,与桌面放置位置 #self.video_widget.resize(1200, 700) # 设置插件宽度与高度 #self.video_widget.move(0, 30) # 设置插件放置位置 self.video_palette = QPalette() self.video_palette.setColor(QPalette.Background, Qt.black) # 设置播放器背景 self.video_widget.setPalette(self.video_palette) video_widget_color = "background-color:#000000" self.video_widget.setStyleSheet(video_widget_color) #布局容器 self.verticalLayout = QVBoxLayout() self.verticalLayout.setSpacing(0) #self.verticalLayout.setContentsMargins(0, 5, 0, 10) self.layout = QHBoxLayout() self.layout.setSpacing(15) # 各个插件的间距 # 设置播放器 self.player = QMediaPlayer(self) self.player.setVideoOutput(self.video_widget) #设置播放按钮事件 self.player.durationChanged.connect(self.get_duration_func) # self.player.positionChanged.connect(self.progress) # 媒体播放时发出信号 self.player.mediaStatusChanged.connect(self.playerStatusChanged) self.player.error.connect(self.player_error) # 播放按钮 self.play_btn = QPushButton(self) self.play_btn.setIcon(QIcon(':/images/play_btn_icon.png')) # 设置按钮图标,下同 self.play_btn.setIconSize(QSize(35, 35)) self.play_btn.setStyleSheet( '''QPushButton{border:none;}QPushButton:hover{border:none;border-radius:35px;}''' ) self.play_btn.setCursor(QCursor(Qt.PointingHandCursor)) self.play_btn.setToolTip("播放") self.play_btn.setFlat(True) #self.play_btn.hide() #isHidden() #判定控件是否隐藏 #isVisible() 判定控件是否显示 self.play_btn.clicked.connect(self.start_button) #音量条 self.volume_slider = QSlider(Qt.Horizontal) # 声音设置 self.volume_slider.setMinimum(0) # 音量0到100 self.volume_slider.setMaximum(100) self.volume_slider.valueChanged.connect(self.volumes_change) self.volume_slider.setStyleSheet('''QSlider{} QSlider::sub-page:horizontal:disabled{background: #00009C; border-color: #999; } QSlider::add-page:horizontal:disabled{background: #eee; border-color: #999; } QSlider::handle:horizontal:disabled{background: #eee; border: 1px solid #aaa; border-radius: 4px; } QSlider::add-page:horizontal{background: #575757; border: 0px solid #777; height: 10px;border-radius: 2px; } QSlider::handle:horizontal:hover{background:qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #2A8BDA, stop:0.778409 rgba(255, 255, 255, 255)); width: 11px; margin-top: -3px; margin-bottom: -3px; border-radius: 5px; } QSlider::sub-page:horizontal{background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4); background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1,stop: 0 #5DCCFF, stop: 1 #1874CD); border: 1px solid #4A708B; height: 10px; border-radius: 2px; } QSlider::groove:horizontal{border: 1px solid #4A708B; background: #C0C0C0; height: 5px; border-radius: 1px; padding-left:-1px; padding-right:-1px;} QSlider::handle:horizontal{background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #45ADED, stop:0.778409 rgba(255, 255, 255, 255)); width: 11px; margin-top: -3px; margin-bottom: -3px; border-radius: 5px; }''' ) #视频播放进度条 self.video_slider = QSlider(Qt.Horizontal, self) # 视频进度拖拖动 self.video_slider.setMinimum(0) # 视频进度0到100% #self.video_slider.setMaximum(100) self.video_slider.setSingleStep(1) self.video_slider.setGeometry(QRect(0, 0, 200, 10)) self.video_slider.sliderReleased.connect(self.video_silder_released) self.video_slider.sliderPressed.connect(self.video_silder_pressed) self.video_slider.setStyleSheet('''QSlider{} QSlider::sub-page:horizontal:disabled{background: #00009C; border-color: #999; } QSlider::add-page:horizontal:disabled{background: #eee; border-color: #999; } QSlider::handle:horizontal:disabled{background: #eee; border: 1px solid #aaa; border-radius: 4px; } QSlider::add-page:horizontal{background: #575757; border: 0px solid #777; height: 10px;border-radius: 2px; } QSlider::handle:horizontal:hover{background:qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #2A8BDA, stop:0.778409 rgba(255, 255, 255, 255)); width: 11px; margin-top: -3px; margin-bottom: -3px; border-radius: 5px; } QSlider::sub-page:horizontal{background: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 #B1B1B1, stop:1 #c4c4c4); background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1,stop: 0 #5DCCFF, stop: 1 #1874CD); border: 1px solid #4A708B; height: 10px; border-radius: 2px; } QSlider::groove:horizontal{border: 1px solid #4A708B; background: #C0C0C0; height: 5px; border-radius: 1px; padding-left:-1px; padding-right:-1px;} QSlider::handle:horizontal{background: qradialgradient(spread:pad, cx:0.5, cy:0.5, radius:0.5, fx:0.5, fy:0.5, stop:0.6 #45ADED, stop:0.778409 rgba(255, 255, 255, 255)); width: 11px; margin-top: -3px; margin-bottom: -3px; border-radius: 5px; }''' ) #静音按钮 self.mute_button = QPushButton('') self.mute_button.clicked.connect(self.mute) self.mute_button.setIconSize(QSize(30, 30)) self.mute_button.setStyleSheet( '''QPushButton{border:none;}QPushButton:hover{border:none;}''') self.mute_button.setCursor(QCursor(Qt.PointingHandCursor)) self.mute_button.setToolTip("播放") self.mute_button.setFlat(True) self.mute_button.setIcon(QIcon(':/images/sound_btn_icon.png')) #暂停按钮 self.pause_btn = QPushButton('') self.pause_btn.setIcon(QIcon(':/images/stop_btn_icon.png')) self.pause_btn.clicked.connect(self.stop_button) self.pause_btn.setIconSize(QSize(35, 35)) self.pause_btn.setStyleSheet( '''QPushButton{border:none;}QPushButton:hover{border:none;}''') self.pause_btn.setCursor(QCursor(Qt.PointingHandCursor)) self.pause_btn.setToolTip("播放") self.pause_btn.setFlat(True) self.pause_btn.hide() #音量值和音量显示标签 self.volume_value = QLabel() self.volume_value.setText(' ' * 5) self.volume_value.setStyleSheet('''QLabel{color:#000000;}''') self.volume_t = QLabel() self.volume_t.setStyleSheet('''QLabel{color:#000000;}''') #视频文件打开按钮 self.open_btn = QPushButton('Open') self.open_btn.clicked.connect(self.getfile) #全屏按钮 self.screen_btn = QPushButton('') self.screen_btn.setIcon( QIcon(QPixmap(':/images/fullsrceen_btn_icon.png'))) self.screen_btn.setIconSize(QSize(38, 38)) self.screen_btn.setStyleSheet( '''QPushButton{border:none;}QPushButton:hover{border:1px solid #F3F3F5;border-radius:35px;}''' ) self.screen_btn.setCursor(QCursor(Qt.PointingHandCursor)) self.screen_btn.setToolTip("播放") self.screen_btn.setFlat(True) self.screen_btn.clicked.connect(self.fullscreen) #添加按钮组件 self.verticalLayout.addStretch() self.layout.addWidget(self.play_btn, 0, Qt.AlignCenter | Qt.AlignVCenter) self.layout.addWidget(self.pause_btn, 0, Qt.AlignCenter | Qt.AlignVCenter) # 插件,与前一个模块的距离,位置 self.layout.addWidget(self.all_duration, 0, Qt.AlignCenter | Qt.AlignVCenter) self.layout.addWidget(self.now_position, 0, Qt.AlignCenter | Qt.AlignVCenter) self.layout.addWidget(self.video_slider, 15, Qt.AlignVCenter | Qt.AlignVCenter) self.layout.addWidget(self.mute_button, 0, Qt.AlignCenter | Qt.AlignVCenter) self.layout.addWidget(self.volume_slider, 0, Qt.AlignCenter | Qt.AlignVCenter) self.layout.addWidget(self.volume_value, 0, Qt.AlignCenter | Qt.AlignVCenter) #self.layout.addWidget(self.screen_btn) #self.layout.addWidget(self.open_btn) self.verticalLayout.addLayout(self.layout) #self.verticalLayout.addLayout(self.layout) self.setLayout(self.verticalLayout) def player_error(self, errorCode): print('error = ' + str(errorCode)) try: if errorCode == 0: pass elif errorCode == 1: self.showAlertWindow('errorCode:1 \n\n无效视频源。') elif errorCode == 2: self.showAlertWindow('errorCode:2 \n\n不支持的媒体格式') elif errorCode == 3: self.showAlertWindow('errorCode:3 \n\n网络错误') elif errorCode == 4: self.showAlertWindow('errorCode:4 \n\n没有权限播放该视频') elif errorCode == 5: self.showAlertWindow('errorCode:5 \n\n视频服务不存在,无法继续播放。') else: self.showAlertWindow('未知错误') except: self.showAlertWindow('视频加载异常') def video_silder_pressed(self): if self.player.state != 0: self.player.pause() def playerStatusChanged(self, status): self.player_status = status if status == 7: self.play_btn.show() self.pause_btn.hide() #print('playerStatusChanged =' + str(status) + '...............') def resizeEvent(self, e): #print(e.size().width(), e.size().height()) newSize = e.size() self.video_widget.setGeometry(0, 0, newSize.width(), newSize.height() - 50) #self.video_widget.setGeometry(0, 0, 0, 0) def closeEvent(self, e): self.player.stop() def get_duration_func(self, d): try: end_number = int(d / 1000 / 10) + 1 #print('end_number = ' + str(end_number)) sum = 0 for n in range(1, end_number): sum = sum + n vv = int((100 / (d / 1000)) * (d / 1000)) self.video_slider.setMaximum(d) #self.video_slider.setMaximum(vv + sum) #print(100 + sum) all_second = int(d / 1000 % 60) # 视频播放时间 all_minute = int(d / 1000 / 60) if all_minute < 10: if all_second < 10: self.all_duration.setText('0' + str(all_minute) + ':0' + str(all_second)) else: self.all_duration.setText('0' + str(all_minute) + ':' + str(all_second)) else: if all_second < 10: self.all_duration.setText( str(all_minute) + ':0' + str(all_second)) else: self.all_duration.setText( str(all_minute) + ':' + str(all_second)) except Exception as e: pass def mouseDoubleClickEvent(self, e): try: #print('mouseDoubleClickEvent................... = ' + str(self.player.state())) if self.player.state() == 2: #视频暂停 self.player.play() self.play_btn.hide() self.pause_btn.show() elif self.player.state() == 1: # 正在播放 self.player.pause() self.play_btn.show() self.pause_btn.hide() else: #视频停止 self.play_btn.hide() self.pause_btn.show() self.player.setPosition(0) self.video_slider.setValue(0) self.player.play() except Exception as e: pass def start_button(self): # 视频播放按钮 try: self.play_btn.hide() self.pause_btn.show() if self.player_status == 7: self.video_slider.setValue(0) self.player.setPosition(0) self.player.play() except Exception as e: pass def stop_button(self): # 视频暂停按钮 self.play_btn.show() self.pause_btn.hide() self.player.pause() def getfile(self, filepath): # 打开视频文件 try: #print(str(filepath)) url = QUrl.fromLocalFile(filepath) if url.isValid(): self.player.setMedia(QMediaContent(url)) # 返回该文件地址,并把地址放入播放内容中 self.player.setVolume(50) # 设置默认打开音量即为音量条大小 self.volume_value.setText(str(50)) self.volume_slider.setValue(50) else: self.showAlertWindow('视频地址无效') except Exception as e: self.showAlertWindow() def clearVolumeValue(): self.volume_value.setText(' ' * 5) def volumes_change(self): # 拖动进度条设置声音 try: size = self.volume_slider.value() if size: # 但进度条的值不为0时,此时音量不为静音,音量值即为进度条值 self.player.setMuted(False) self.player.setVolume(size) volume_value = str(size) + ' ' * 4 self.volume_value.setText(volume_value) #print(size) self.mute_button.setIcon(QIcon(':/images/sound_btn_icon.png')) else: self.player.setMuted(True) self.mute_button.setIcon(QIcon(':/images/mute_btn_icon.png')) self.player.setVolume(0) volume_value = '0' + ' ' * 4 self.volume_value.setText(volume_value) if len(str(size)) == 1: volume_value = str(size) + ' ' * 4 elif len(str(size)) == 2: volume_value = str(size) + ' ' * 3 else: volume_value = str(size) + ' ' * 2 self.volume_value.setText(volume_value) except Exception as e: pass def mute(self): try: if self.player.isMuted(): self.mute_button.setIcon(QIcon(':/images/sound_btn_icon.png')) self.player.setMuted(False) self.volume_slider.setValue(50) volume_value = '50' + ' ' * 4 self.volume_value.setText(volume_value) else: self.mute_button.setIcon(QIcon(':/images/mute_btn_icon.png')) self.player.setMuted(True) # 若不为静音,则设置为静音,音量置为0 self.volume_slider.setValue(0) volume_value = '0' + ' ' * 4 self.volume_value.setText(volume_value) except Exception as e: pass def progress(self): # 视频进度条自动释放与播放时间 try: self.length = self.player.duration() + 1 self.position = self.player.position() #print(str(self.length) + ':' + str(self.position)) self.count += 1 video_silder_maximum = self.video_slider.maximum() #video_silder_value = int(((video_silder_maximum / (self.length / 1000)) * (self.position / 1000))) #self.video_slider.setValue(video_silder_value + self.count) self.video_slider.setValue(self.position) #print('video_slider_value = ' + str(video_silder_value + self.count)) now_second = int(self.position / 1000 % 60) now_minute = int(self.position / 1000 / 60) self.mainwindow.resultlist2.addItem("{0:02d} : {1:02d}".format( now_minute, now_second)) #print(str(now_minute) + ':' + str(now_second)) if now_minute < 10: if now_second < 10: self.now_position.setText('/ 0' + str(now_minute) + ':0' + str(now_second)) else: self.now_position.setText('/ 0' + str(now_minute) + ':' + str(now_second)) else: #print('now_minute < 10' + str(now_minute) + ':' + str(now_second)) if now_second < 10: #print('now_second < 10' + str(now_minute) + ':' + str(now_second)) #self.now_position.setText(str(now_minute) + ':0' + str(now_second)) self.now_position.setText('/ ' + str(now_minute) + ':0' + str(now_second)) else: #print('now_second > 10' + str(now_minute) + ':' + str(now_second)) self.now_position.setText('/ ' + str(now_minute) + ':' + str(now_second)) except Exception as e: pass def video_silder_released(self): # 释放滑条时,改变视频播放进度 try: #print('video_silder_released......') if self.player.state() != 0: self.player.setPosition(self.video_slider.value()) self.player.play() else: #如果视频是停止状态,则拖动进度条无效 self.video_slider.setValue(0) except Exception as e: pass def fullscreen(self): self.showFullScreen() def keyPressEvent(self, event): # 重新改写按键 if event.key() == Qt.Key_Escape: self.winquit() def winquit(self): # 退出窗口 self.showNormal() def showAlertWindow(self, msg='视频加载出错!'): reply = QMessageBox.information(self, "消息框标题", msg, QMessageBox.Yes) def setWindowTitleName(self, titleName): self.setWindowTitle(titleName) # 窗口名称
class Ui_NewProject(object): def setupUi(self, NewProject): NewProject.setObjectName("NewProject") NewProject.resize(736, 625) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/plugins/Video_UAV_Tracker/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) NewProject.setWindowIcon(icon) self.gridLayout_2 = QtWidgets.QGridLayout(NewProject) self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.video_frame_2 = QVideoWidget(NewProject) p = self.video_frame_2.palette() p.setColor(QtGui.QPalette.Window, QtCore.Qt.black) self.video_frame_2.setPalette(p) self.video_frame_2.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.video_frame_2.sizePolicy().hasHeightForWidth()) self.video_frame_2.setSizePolicy(sizePolicy) self.video_frame_2.setStyleSheet("background-color: rgb(0, 0, 0);") self.video_frame_2.setObjectName("video_frame_2") self.horizontalLayout.addWidget(self.video_frame_2) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 15) self.horizontalSlider = QtWidgets.QSlider(NewProject) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.gridLayout.addWidget(self.horizontalSlider, 1, 0, 1, 15) self.replayPlay_pushButton = QtWidgets.QPushButton(NewProject) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.replayPlay_pushButton.sizePolicy().hasHeightForWidth()) self.replayPlay_pushButton.setSizePolicy(sizePolicy) self.replayPlay_pushButton.setCheckable(False) self.replayPlay_pushButton.setChecked(False) self.replayPlay_pushButton.setObjectName("replayPlay_pushButton") self.gridLayout.addWidget(self.replayPlay_pushButton, 3, 1, 1, 1) self.replayPosition_label = QtWidgets.QLabel(NewProject) self.replayPosition_label.setObjectName("replayPosition_label") self.gridLayout.addWidget(self.replayPosition_label, 3, 4, 1, 1) self.muteButton = QtWidgets.QToolButton(NewProject) self.muteButton.setText("") self.muteButton.setObjectName("muteButton") self.gridLayout.addWidget(self.muteButton, 3, 2, 1, 1) self.comboBox = QtWidgets.QComboBox(NewProject) self.comboBox.setObjectName("comboBox") self.gridLayout.addWidget(self.comboBox, 3, 14, 1, 1) self.pushButton_2 = QtWidgets.QPushButton(NewProject) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout.addWidget(self.pushButton_2, 3, 12, 1, 1) self.toolButton_3 = QtWidgets.QToolButton(NewProject) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/plugins/Video_UAV_Tracker/mIconFormSelect.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_3.setIcon(icon1) self.toolButton_3.setObjectName("toolButton_3") self.gridLayout.addWidget(self.toolButton_3, 3, 11, 1, 1) self.toolButton_2 = QtWidgets.QToolButton(NewProject) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasNext.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_2.setIcon(icon2) self.toolButton_2.setObjectName("toolButton_2") self.gridLayout.addWidget(self.toolButton_2, 3, 9, 1, 1) self.SkipFortoolButton_8 = QtWidgets.QToolButton(NewProject) self.SkipFortoolButton_8.setStyleSheet("") icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowRight.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.SkipFortoolButton_8.setIcon(icon3) self.SkipFortoolButton_8.setObjectName("SkipFortoolButton_8") self.gridLayout.addWidget(self.SkipFortoolButton_8, 3, 8, 1, 1) self.SkipBacktoolButton_7 = QtWidgets.QToolButton(NewProject) self.SkipBacktoolButton_7.setStyleSheet("") icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowLeft.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.SkipBacktoolButton_7.setIcon(icon4) self.SkipBacktoolButton_7.setObjectName("SkipBacktoolButton_7") self.gridLayout.addWidget(self.SkipBacktoolButton_7, 3, 7, 1, 1) self.toolButton = QtWidgets.QToolButton(NewProject) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasPrev.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton.setIcon(icon5) self.toolButton.setObjectName("toolButton") self.gridLayout.addWidget(self.toolButton, 3, 6, 1, 1) self.pushButton = QtWidgets.QPushButton(NewProject) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 3, 0, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) self.retranslateUi(NewProject) QtCore.QMetaObject.connectSlotsByName(NewProject) def retranslateUi(self, NewProject): _translate = QtCore.QCoreApplication.translate NewProject.setWindowTitle(_translate("NewProject", "Video UAV Tracker - New Project")) self.replayPlay_pushButton.setText(_translate("NewProject", "Play/Pause")) self.replayPosition_label.setText(_translate("NewProject", "-:- / -:-")) self.pushButton_2.setToolTip(_translate("NewProject", "<html><head/><body><p>Synchronize actual video frame with selected GPS time</p></body></html>")) self.comboBox.setToolTip(_translate("NewProject", "<html><head/><body><p> GPS time</p></body></html>")) self.pushButton_2.setText(_translate("NewProject", "Synchronize!")) self.toolButton_3.setToolTip(_translate("NewProject", "<html><head/><body><p>Add point shape database to project</p></body></html>")) #self.toolButton_3.setText(_translate("NewProject", "DB")) self.toolButton_2.setToolTip(_translate("NewProject", "<html><head/><body><p>Next second</p></body></html>")) self.toolButton_2.setText(_translate("NewProject", ">>")) self.SkipFortoolButton_8.setToolTip(_translate("NewProject", "<html><head/><body><p>Next frame</p></body></html>")) self.SkipFortoolButton_8.setText(_translate("NewProject", ">")) self.SkipBacktoolButton_7.setToolTip(_translate("NewProject", "<html><head/><body><p>Previous frame</p></body></html>")) self.SkipBacktoolButton_7.setText(_translate("NewProject", "<")) self.toolButton.setToolTip(_translate("NewProject", "<html><head/><body><p>Previous second</p></body></html>")) self.toolButton.setText(_translate("NewProject", "<<")) self.pushButton.setToolTip(_translate("NewProject", "<html><head/><body><p>Select video and relative gpx</p></body></html>")) self.pushButton.setText(_translate("NewProject", "Select Video and GPX"))
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setEnabled(True) MainWindow.resize(843, 818) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setMinimumSize(QtCore.QSize(843, 818)) MainWindow.setMaximumSize(QtCore.QSize(843, 818)) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap("../../../Downloads/weightlifting.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setAutoFillBackground(False) MainWindow.setStyleSheet("background-color: rgb(246, 255, 231);") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setStyleSheet("background-color: rgb(252, 252, 252);") self.centralwidget.setObjectName("centralwidget") self.stackedWidget = QtWidgets.QStackedWidget(self.centralwidget) self.stackedWidget.setGeometry(QtCore.QRect(30, 20, 761, 771)) self.stackedWidget.setStyleSheet("background-color: rgb(252, 252, 252);") self.stackedWidget.setObjectName("stackedWidget") self.page = QtWidgets.QWidget() self.page.setObjectName("page") self.label = QtWidgets.QLabel(self.page) self.label.setGeometry(QtCore.QRect(-10, 20, 791, 81)) self.label.setStyleSheet("\n" "font-family:Tahoma, Helvetica, Arial, Sans-Serif;\n" "text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;\n" "\n" "\n" "\n" "") self.label.setObjectName("label") self.pushButton = QtWidgets.QPushButton(self.page) self.pushButton.setGeometry(QtCore.QRect(230, 570, 321, 181)) self.pushButton.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "") self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(self.page) self.pushButton_2.setGeometry(QtCore.QRect(230, 170, 321, 181)) self.pushButton_2.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "\n" "") self.pushButton_2.setObjectName("pushButton_2") self.pushButton_13 = QtWidgets.QPushButton(self.page) self.pushButton_13.setGeometry(QtCore.QRect(230, 370, 321, 181)) self.pushButton_13.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 26px;\n" "padding:10px;\n" "}\n" "\n" "") self.pushButton_13.setObjectName("pushButton_13") self.stackedWidget.addWidget(self.page) self.page_6 = QtWidgets.QWidget() self.page_6.setObjectName("page_6") self.label_13 = QtWidgets.QLabel(self.page_6) self.label_13.setGeometry(QtCore.QRect(-10, 30, 771, 61)) self.label_13.setStyleSheet("text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;") self.label_13.setObjectName("label_13") self.image_label_11 = QtWidgets.QLabel(self.page_6) self.image_label_11.setGeometry(QtCore.QRect(60, 110, 661, 511)) self.image_label_11.setAutoFillBackground(False) self.image_label_11.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 50px;\n" "padding:10px;\n" "text-align:center\n" "") self.image_label_11.setLineWidth(3) self.image_label_11.setMidLineWidth(2) self.image_label_11.setAlignment(QtCore.Qt.AlignCenter) self.image_label_11.setObjectName("image_label_11") self.pushButton19_4 = QtWidgets.QPushButton(self.page_6) self.pushButton19_4.setGeometry(QtCore.QRect(200, 650, 181, 101)) self.pushButton19_4.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton19_4.setObjectName("pushButton19_4") self.pushButton20_7 = QtWidgets.QPushButton(self.page_6) self.pushButton20_7.setGeometry(QtCore.QRect(410, 650, 181, 101)) self.pushButton20_7.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton20_7.setObjectName("pushButton20_7") self.stackedWidget.addWidget(self.page_6) self.page_2 = QtWidgets.QWidget() self.page_2.setObjectName("page_2") self.image_label = QtWidgets.QLabel(self.page_2) self.image_label.setGeometry(QtCore.QRect(60, 120, 661, 511)) self.image_label.setAutoFillBackground(False) self.image_label.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 16px;\n" "padding:10px") self.image_label.setLineWidth(3) self.image_label.setMidLineWidth(2) self.image_label.setText("") self.image_label.setObjectName("image_label") self.pushButton_3 = QtWidgets.QPushButton(self.page_2) self.pushButton_3.setGeometry(QtCore.QRect(80, 660, 181, 101)) self.pushButton_3.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton_3.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(self.page_2) self.pushButton_4.setGeometry(QtCore.QRect(300, 660, 181, 101)) self.pushButton_4.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton_4.setObjectName("pushButton_4") self.pushButton_5 = QtWidgets.QPushButton(self.page_2) self.pushButton_5.setGeometry(QtCore.QRect(520, 660, 181, 101)) self.pushButton_5.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 14px;\n" "padding:10px;\n" "}\n" "") self.pushButton_5.setObjectName("pushButton_5") self.label6_2 = QtWidgets.QLabel(self.page_2) self.label6_2.setGeometry(QtCore.QRect(0, 40, 761, 61)) font = QtGui.QFont() font.setPointSize(-1) self.label6_2.setFont(font) self.label6_2.setStyleSheet("QLabel{\n" "\n" "text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;\n" "}\n" "\n" "\n" "") self.label6_2.setAlignment(QtCore.Qt.AlignCenter) self.label6_2.setObjectName("label6_2") self.stackedWidget.addWidget(self.page_2) self.page7 = QtWidgets.QWidget() self.page7.setObjectName("page7") self.label_11 = QtWidgets.QLabel(self.page7) self.label_11.setGeometry(QtCore.QRect(0, 40, 771, 61)) self.label_11.setStyleSheet("text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;") self.label_11.setObjectName("label_11") self.pushButton19 = QtWidgets.QPushButton(self.page7) self.pushButton19.setGeometry(QtCore.QRect(300, 660, 181, 101)) self.pushButton19.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton19.setObjectName("pushButton19") self.pushButton20 = QtWidgets.QPushButton(self.page7) self.pushButton20.setGeometry(QtCore.QRect(520, 660, 181, 101)) self.pushButton20.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton20.setObjectName("pushButton20") self.video_label = QVideoWidget(self.page7) self.video_label.setGeometry(QtCore.QRect(60, 120, 661, 511)) self.video_label.setAutoFillBackground(False) self.video_label.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 16px;\n" "padding:10px") self.video_label.setObjectName("image_label_8") self.pushButton20_2 = QtWidgets.QPushButton(self.page7) self.pushButton20_2.setGeometry(QtCore.QRect(80, 660, 181, 101)) self.pushButton20_2.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton20_2.setObjectName("pushButton20_2") self.stackedWidget.addWidget(self.page7) self.page_3 = QtWidgets.QWidget() self.page_3.setObjectName("page_3") self.label_3 = QtWidgets.QLabel(self.page_3) self.label_3.setGeometry(QtCore.QRect(-10, 50, 781, 61)) self.label_3.setStyleSheet("text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;") self.label_3.setAlignment(QtCore.Qt.AlignCenter) self.label_3.setObjectName("label_3") self.pushButton_9 = QtWidgets.QPushButton(self.page_3) self.pushButton_9.setGeometry(QtCore.QRect(80, 160, 271, 221)) self.pushButton_9.setStyleSheet("QPushButton{\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(255, 255, 0), stop:1 rgb(255, 255, 203));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 20px;\n" "color: black;\n" "padding:10px;}\n" "\n" "QPushButton:hover { \n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(255, 255, 203), stop:1 rgb(255, 255, 0));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 255, 203);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(255, 255, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "\n" "") self.pushButton_9.setObjectName("pushButton_9") self.pushButton_6 = QtWidgets.QPushButton(self.page_3) self.pushButton_6.setGeometry(QtCore.QRect(80, 460, 271, 221)) self.pushButton_6.setStyleSheet("QPushButton{\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(255, 61, 236), stop:1 rgb(255, 221, 254));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 20px;\n" "color: black;\n" "padding:10px}\n" "\n" "QPushButton:hover { \n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(255, 221, 254) , stop:1 rgb(255, 61, 236));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(198, 255, 255);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 221, 254);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(255, 221, 254);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "") self.pushButton_6.setObjectName("pushButton_6") self.pushButton_7 = QtWidgets.QPushButton(self.page_3) self.pushButton_7.setGeometry(QtCore.QRect(420, 160, 271, 221)) self.pushButton_7.setStyleSheet("QPushButton{\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(75, 252, 255), stop:1 rgb(198, 255, 255));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 20px;\n" "color: black;\n" "padding:10px}\n" "\n" "QPushButton:hover { \n" "background-color:qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(198, 255, 255), stop:1 rgb(75, 252, 255));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(198, 255, 255);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(198, 255, 255);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(255, 255, 203);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "") self.pushButton_7.setObjectName("pushButton_7") self.pushButton_8 = QtWidgets.QPushButton(self.page_3) self.pushButton_8.setGeometry(QtCore.QRect(420, 460, 271, 221)) self.pushButton_8.setStyleSheet("QPushButton{\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(17, 220, 51), stop:1 rgb(210, 255, 223));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 20px;\n" "color: black;\n" "padding:10px;}\n" "\n" "QPushButton:hover { \n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(210, 255, 223) , stop:1 rgb(17, 220, 51) );\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(198, 255, 255);\n" "font:bold 24px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(210, 255, 223);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:24px;\n" "border-color:rgb(255, 221, 254);\n" "font:bold 16px;}") self.pushButton_8.setObjectName("pushButton_8") self.stackedWidget.addWidget(self.page_3) self.page_4 = QtWidgets.QWidget() self.page_4.setObjectName("page_4") self.label_4 = QtWidgets.QLabel(self.page_4) self.label_4.setGeometry(QtCore.QRect(0, 40, 761, 61)) font = QtGui.QFont() font.setPointSize(-1) self.label_4.setFont(font) self.label_4.setStyleSheet("QLabel{\n" "\n" "text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;\n" "}\n" "\n" "\n" "") self.label_4.setAlignment(QtCore.Qt.AlignCenter) self.label_4.setObjectName("label_4") self.image_label_2 = QtWidgets.QLabel(self.page_4) self.image_label_2.setGeometry(QtCore.QRect(60, 120, 661, 511)) self.image_label_2.setAutoFillBackground(False) self.image_label_2.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 16px;\n" "padding:10px") self.image_label_2.setLineWidth(3) self.image_label_2.setMidLineWidth(2) self.image_label_2.setText("") self.image_label_2.setObjectName("image_label_2") self.pushButton_10 = QtWidgets.QPushButton(self.page_4) self.pushButton_10.setGeometry(QtCore.QRect(80, 660, 181, 101)) self.pushButton_10.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton_10.setObjectName("pushButton_10") self.pushButton_11 = QtWidgets.QPushButton(self.page_4) self.pushButton_11.setGeometry(QtCore.QRect(300, 660, 181, 101)) font = QtGui.QFont() font.setPointSize(-1) font.setBold(True) font.setItalic(False) font.setWeight(75) self.pushButton_11.setFont(font) self.pushButton_11.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton_11.setObjectName("pushButton_11") self.pushButton_12 = QtWidgets.QPushButton(self.page_4) self.pushButton_12.setGeometry(QtCore.QRect(520, 660, 181, 101)) self.pushButton_12.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton_12.setObjectName("pushButton_12") self.stackedWidget.addWidget(self.page_4) self.page_5 = QtWidgets.QWidget() self.page_5.setObjectName("page_5") self.label_5 = QtWidgets.QLabel(self.page_5) self.label_5.setGeometry(QtCore.QRect(0, 40, 751, 61)) font = QtGui.QFont() font.setPointSize(-1) self.label_5.setFont(font) self.label_5.setStyleSheet("QLabel{\n" "\n" "text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;\n" "}\n" "\n" "\n" "") self.label_5.setAlignment(QtCore.Qt.AlignCenter) self.label_5.setObjectName("label_5") self.image_label_3 = QtWidgets.QLabel(self.page_5) self.image_label_3.setGeometry(QtCore.QRect(60, 120, 661, 511)) self.image_label_3.setAutoFillBackground(False) self.image_label_3.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 16px;\n" "padding:10px") self.image_label_3.setLineWidth(3) self.image_label_3.setMidLineWidth(2) self.image_label_3.setText("") self.image_label_3.setObjectName("image_label_3") self.pushButton13 = QtWidgets.QPushButton(self.page_5) self.pushButton13.setGeometry(QtCore.QRect(80, 660, 181, 101)) self.pushButton13.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton13.setObjectName("pushButton13") self.pushButton14 = QtWidgets.QPushButton(self.page_5) self.pushButton14.setGeometry(QtCore.QRect(300, 660, 181, 101)) font = QtGui.QFont() font.setPointSize(-1) font.setBold(True) font.setItalic(False) font.setWeight(75) self.pushButton14.setFont(font) self.pushButton14.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton14.setObjectName("pushButton14") self.pushButton15 = QtWidgets.QPushButton(self.page_5) self.pushButton15.setGeometry(QtCore.QRect(520, 660, 181, 101)) self.pushButton15.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton15.setObjectName("pushButton15") self.stackedWidget.addWidget(self.page_5) self.page6 = QtWidgets.QWidget() self.page6.setObjectName("page6") self.image_label_7 = QtWidgets.QLabel(self.page6) self.image_label_7.setGeometry(QtCore.QRect(60, 120, 661, 511)) self.image_label_7.setAutoFillBackground(False) self.image_label_7.setStyleSheet("\n" "background-color: black;\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:gray;\n" "font:bold 16px;\n" "padding:10px") self.image_label_7.setLineWidth(3) self.image_label_7.setMidLineWidth(2) self.image_label_7.setText("") self.image_label_7.setObjectName("image_label_7") self.label6 = QtWidgets.QLabel(self.page6) self.label6.setGeometry(QtCore.QRect(0, 40, 761, 61)) font = QtGui.QFont() font.setPointSize(-1) self.label6.setFont(font) self.label6.setStyleSheet("QLabel{\n" "\n" "text-align: center;\n" "font-size: 36px;\n" "color: #222;\n" "text-shadow: 0px 2px 3px black;\n" "}\n" "\n" "\n" "") self.label6.setAlignment(QtCore.Qt.AlignCenter) self.label6.setObjectName("label6") self.pushButton16 = QtWidgets.QPushButton(self.page6) self.pushButton16.setGeometry(QtCore.QRect(80, 660, 181, 101)) self.pushButton16.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton16.setObjectName("pushButton16") self.pushButton17 = QtWidgets.QPushButton(self.page6) self.pushButton17.setGeometry(QtCore.QRect(300, 660, 181, 101)) font = QtGui.QFont() font.setPointSize(-1) font.setBold(True) font.setItalic(False) font.setWeight(75) self.pushButton17.setFont(font) self.pushButton17.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton17.setObjectName("pushButton17") self.pushButton18 = QtWidgets.QPushButton(self.page6) self.pushButton18.setGeometry(QtCore.QRect(520, 660, 181, 101)) self.pushButton18.setStyleSheet("QPushButton{\n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgb(180, 17, 17), stop:1 rgba(255, 144, 146));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "QPushButton:hover { \n" "background-color:rgb(255, 144, 146);\n" "background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 144, 146), stop:1 rgba(180, 17, 17));\n" "color:white;\n" "border-style: outset;\n" "border-width:1px;\n" "border-radius:14px;\n" "border-color:rgb(255, 202, 203);\n" "font:bold 18px;\n" "padding:10px;\n" "}\n" "\n" "QPushButton:pressed { \n" "background-color:rgb(255, 144, 146);\n" "color:white;\n" "border-style: outset;\n" "border-width:2px;\n" "border-radius:14px;\n" "border-color:rgb(180, 17, 17);\n" "font:bold 16px;\n" "padding:10px;\n" "}\n" "") self.pushButton18.setObjectName("pushButton18") self.stackedWidget.addWidget(self.page6) MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) self.stackedWidget.setCurrentIndex(5) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "eTrener")) self.label.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:48pt;\">e-Trener</span></p></body></html>")) self.pushButton.setText(_translate("MainWindow", "Wyjdź")) self.pushButton_2.setText(_translate("MainWindow", "Trening dokładności")) self.pushButton_13.setText(_translate("MainWindow", "Pomiar refleksu")) self.label_13.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:27pt;\">Sprawdź swój refleks</span></p></body></html>")) self.image_label_11.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><br/></p></body></html>")) self.pushButton19_4.setText(_translate("MainWindow", "Start")) self.pushButton20_7.setText(_translate("MainWindow", "Powrót")) self.pushButton_3.setText(_translate("MainWindow", "Rozpocznij \n" " nagrywanie")) self.pushButton_4.setText(_translate("MainWindow", "Sprawdź")) self.pushButton_5.setText(_translate("MainWindow", "Powrót do \n" " menu")) self.label6_2.setText(_translate("MainWindow", "Wykroki")) self.label_11.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\">Powtórka ćwiczenia</p><p align=\"center\"><br/></p></body></html>")) self.pushButton19.setText(_translate("MainWindow", "Start")) self.pushButton20.setText(_translate("MainWindow", "Powrót do menu")) self.pushButton20_2.setText(_translate("MainWindow", "Wybierz plik")) self.label_3.setText(_translate("MainWindow", "Wybierz trening")) self.pushButton_9.setText(_translate("MainWindow", "Wykroki")) self.pushButton_6.setText(_translate("MainWindow", "Pompki")) self.pushButton_7.setText(_translate("MainWindow", "Przysiady")) self.pushButton_8.setText(_translate("MainWindow", "Plank")) self.label_4.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:22pt;\">Plank</span></p></body></html>")) self.pushButton_10.setText(_translate("MainWindow", "Rozpocznij \n" " nagrywanie")) self.pushButton_11.setText(_translate("MainWindow", "Sprawdź")) self.pushButton_12.setText(_translate("MainWindow", "Powrót do \n" " menu")) self.label_5.setText(_translate("MainWindow", "Pompki")) self.pushButton13.setText(_translate("MainWindow", "Rozpocznij \n" " nagrywanie")) self.pushButton14.setText(_translate("MainWindow", "Sprawdź")) self.pushButton15.setText(_translate("MainWindow", "Powrót do \n" " menu")) self.label6.setText(_translate("MainWindow", "Przysiady")) self.pushButton16.setText(_translate("MainWindow", "Rozpocznij \n" " nagrywanie")) self.pushButton17.setText(_translate("MainWindow", "Sprawdź")) self.pushButton18.setText(_translate("MainWindow", "Powrót do \n" " menu"))
class IntroWindow(QMainWindow, Form): def __init__(self): Form.__init__(self) QMainWindow.__init__(self) self.setWindowIcon(QIcon("logo.png")) p = self.palette() p.setColor(QPalette.Window, Qt.gray) self.setPalette(p) self.setupUi(self) self.a = 1 self.videowidget = QVideoWidget() self.vertical.addWidget(self.videowidget) self.videoplayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.videoplayer.setVideoOutput(self.videowidget) self.sliderfilm.setRange(0, 0) self.volume.setRange(0, 100) self.videoplayer.setVolume(100) self.volume.setValue(100) self.play.setEnabled(False) self.increaseRate.setEnabled(False) self.decreaseRate.setEnabled(False) # putting Icons on buttons self.increaseRate.setIcon(self.style().standardIcon( QStyle.SP_MediaSeekForward)) self.decreaseRate.setIcon(self.style().standardIcon( QStyle.SP_MediaSeekBackward)) self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.open.setIcon(self.style().standardIcon(QStyle.SP_DirHomeIcon)) self.skipforward.setIcon(self.style().standardIcon( QStyle.SP_MediaSkipForward)) self.skipback.setIcon(self.style().standardIcon( QStyle.SP_MediaSkipBackward)) self.stop.setIcon(self.style().standardIcon(QStyle.SP_MediaStop)) self.sliderfilm.sliderMoved.connect(self.setpos) self.videoplayer.positionChanged.connect(self.position) self.videoplayer.durationChanged.connect(self.changed) self.videoplayer.volumeChanged.connect(self.setvolpos) self.volume.sliderMoved.connect(self.setvolpos) self.actionOpen.triggered.connect(self.Loadvideo) self.actionSearch_By_Tag.triggered.connect(self.opensecond) self.actionFullscreen.triggered.connect(self.screen) self.skipforward.clicked.connect(self.skipforw) self.skipback.clicked.connect(self.skipbac) self.increaseRate.clicked.connect(self.incRate) self.decreaseRate.clicked.connect(self.decRate) self.play.clicked.connect(self.play_video) self.open.clicked.connect(lambda: self.Loadvideo(self.videoplayer)) self.stop.clicked.connect(self.stopp) self.listView.hide() self.addtolist() self.listviewstatus = 0 self.listbtn.clicked.connect(lambda: self.list()) self.listView.itemClicked.connect(self.listwidgetclicked) self.theme1.triggered.connect(lambda: self.theme01()) self.theme2.triggered.connect(lambda: self.theme02()) self.theme3.triggered.connect(lambda: self.theme03()) self.theme4.triggered.connect(lambda: self.theme04()) # def itemClicked(item): # print("sassss") # self.button = QPushButton("button", self) ####how to hid window flag # self.setWindowFlags(Qt.Window | Qt.FramelessWindowHint) # self.hide() # self.show() def stopp(self): self.stop.setEnabled(False) self.videoplayer.stop() self.videoplayer.setPosition(0) def listwidgetclicked(self, item): t = item.text() pt = datetime.strptime(t, "%H:%M:%S") total_seconds = pt.second + pt.minute * 60 + pt.hour * 3600 if self.a == 0: self.videoplayer.setPosition(total_seconds * 1000) def list(self): if self.listviewstatus % 2 == 1: self.listView.hide() self.listbtn.setText("^") self.listviewstatus += 1 else: self.listbtn.setText("v") self.listviewstatus += 1 self.listView.show() # def resizeEvent(self, cls): # print(self.geometry()) # width = self.frameGeometry().width() # height = self.frameGeometry().height() # self.button.move(width - 200, height - 200) def mouseDoubleClickEvent(self, cls): if not self.isFullScreen(): # self.showFullScreen() self.fulls() else: self.unfull() # self.showNormal() def keyPressEvent(self, e): if e.key() == Qt.Key_Escape: if self.isFullScreen(): self.unfull() # self.showNormal() def screen(self): if not self.isFullScreen(): # self.showFullScreen() self.fulls() else: self.unfull() # self.showNormal() # forward media 5s def skipforw(self): self.videoplayer.setPosition(self.videoplayer.position() + 5000) def skipbac(self): self.videoplayer.setPosition(self.videoplayer.position() - 5000) # set increase rate def incRate(self): if self.videoplayer.playbackRate() == 0: x = self.videoplayer.playbackRate() + 1 else: x = self.videoplayer.playbackRate() self.videoplayer.setPlaybackRate(x + 0.25) # set decrease rate def decRate(self): if self.videoplayer.playbackRate() == 0: x = self.videoplayer.playbackRate() + 1 else: x = self.videoplayer.playbackRate() self.videoplayer.setPlaybackRate(x - 0.25) def addtolist(self): data = pd.read_excel("tags.xlsx") firstline = pd.DataFrame(data, index=[0]) x = pd.DataFrame(data, columns=[list(firstline)[0]]) self.listView.addItem(str(list(firstline)[1])) for i in range(x.size): self.listView.addItem(str(data.iat[i, 1])) def opensecond(self): login_page = LoginPage() login_page.setWindowFlags(QtCore.Qt.WindowCloseButtonHint) data = pd.read_excel("tags.xlsx") firstline = pd.DataFrame(data, index=[0]) x = pd.DataFrame(data, columns=[list(firstline)[0]]) login_page.tableWidget.setRowCount(x.size) login_page.tableWidget.insertRow(1) login_page.tableWidget.setItem( 0, 0, QtWidgets.QTableWidgetItem(list(firstline)[0])) login_page.tableWidget.setItem( 0, 1, QtWidgets.QTableWidgetItem(str(list(firstline)[1]))) for i in range(x.size): for j in range(2): login_page.tableWidget.setItem( i + 1, j, QtWidgets.QTableWidgetItem(str(data.iat[i, j]))) # self.listView.addItem(str(data.iat[i, j])) login_page.buttonBox.accepted.connect(lambda: login_page.shows(self)) login_page.tableWidget.setHorizontalHeaderLabels(["Tag", "Time"]) login_page.exec_() def fulls(self): self.decreaseRate.hide() self.increaseRate.hide() self.centralwidget.setContentsMargins(0, 0, 0, 0) self.play.hide() ################################################ # self.stop.hide() ################################################ self.open.hide() ################################################ self.skipforward.hide( ) ################################################ self.skipback.hide() ################################################ # self.horizontalSpacer_2.hide() # self.horizontalSpacer.hide() self.label.hide() ################################################ self.volume.hide() ################################################ self.menubar.hide( ) ################################################################ self.sliderfilm.hide( ) ################################################ self.statusBar.hide() self.showFullScreen() ################################################ self.listbtn.hide() self.listView.hide() def unfull(self): self.centralwidget.setContentsMargins(10, 10, 10, 10) self.decreaseRate.show() self.increaseRate.show() self.play.show() ################################################ # self.stop.show() ################################################ self.open.show() ################################################ self.skipforward.show( ) ################################################ self.skipback.show() ################################################ # self.horizontalSpacer_2.hide() # self.horizontalSpacer.hide() self.label.show() ################################################ self.volume.show() ################################################ self.menubar.show( ) ################################################################ self.sliderfilm.show( ) ################################################ self.statusBar.show() self.showNormal() ################################################ self.listbtn.show() # self.listView.show() ##setting position of film def setpos(self, position): self.videoplayer.setPosition(position) def position(self, position): hour = int((position / 3600000) % 24) if hour < 10: hour = "0" + str(hour) minute = int((position / 60000) % 60) if minute < 10: minute = "0" + str(minute) second = int((position / 1000) % 60) if second < 10: second = "0" + str(second) self.label.setText(f"{hour}:{minute}:{second}") self.sliderfilm.setValue(position) def changed(self, duration): self.sliderfilm.setRange(0, duration) ##setting position of volume def setvolpos(self, position): self.videoplayer.setVolume(position) ##stop button # def stopp(self): # self.stop.setEnabled(False) # self.play.setText("Start") # self.videoplayer.stop() # self.videoplayer.setPosition(0) ##open button or open from menu bar def Loadvideo(self, videoplayer): self.a = 0 filename, _ = QFileDialog.getOpenFileName(self, "Open Video") if filename != "": self.videoplayer.setPosition(0) types = (".mov" in filename) or (".png" in filename) or (".mp4" in filename) if types: if filename != "": self.videoplayer.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.videoplayer.play() self.play.setEnabled(True) self.play.setIcon(self.style().standardIcon( QStyle.SP_MediaPause)) self.increaseRate.setEnabled(True) self.decreaseRate.setEnabled(True) ##play button def play_video(self): if self.videoplayer.state() == QMediaPlayer.PlayingState: self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.videoplayer.pause() else: self.videoplayer.play() self.play.setIcon(self.style().standardIcon(QStyle.SP_MediaPause)) def theme01(self): self.videowidget.setStyleSheet("background-color: #404040") self.setStyleSheet("background-color: #A0A0A0") def theme02(self): self.videowidget.setStyleSheet("background-color: #330019") self.setStyleSheet("background-color: #990000") def theme03(self): self.videowidget.setStyleSheet("background-color: #35557F") self.setStyleSheet("background-color: #003366") def theme04(self): self.videowidget.setStyleSheet("background-color: #00FF00") self.setStyleSheet("background-color: #4C9900")
def __init__(self, parent=None): super().__init__(parent) self.setAcceptDrops(True) self.videoPath = None self.videoTmpPath = None self.videoDuration = None self.videoEditor = None # Font # self.setFont(QFont("Noto Sans", 10)) # Edit window self.editWindow = EditWidget(self) # Video widget and media player videoWidget = QVideoWidget() videoWidget.setStyleSheet('background: black') self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.mediaPlayer.setVideoOutput(videoWidget) self.mediaPlayer.stateChanged.connect(self.mediaStateChanged) self.mediaPlayer.positionChanged.connect(self.positionChanged) self.mediaPlayer.durationChanged.connect(self.durationChanged) self.mediaPlayer.error.connect(self.handleError) # Play button self.playButton = QPushButton() self.playButton.setEnabled(False) self.playButton.setFixedHeight(26) self.playButton.setIconSize(QSize(10, 10)) self.playButton.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.playButton.clicked.connect(self.togglePlay) # Time slider self.positionSlider = QSliderMarker(Qt.Horizontal) # self.positionSlider.setRange(0, 0) self.positionSlider.sliderMoved.connect(self.setPosition) # Time label self.timeLabel = QLabel("- -:- -. - -") # self.timeLabel.setAlignment(Qt.AlignTop) self.timeLabel.setAlignment(Qt.AlignBottom) self.timeLabel.setFixedHeight(24) # Open button openButton = QPushButton("Open") openButton.setFixedHeight(24) openButton.clicked.connect(self.loadVideoFile) # Open Folder button self.openFolderButton = QPushButton("打开文件夹") self.openFolderButton.setEnabled(False) self.openFolderButton.setFixedHeight(24) self.openFolderButton.clicked.connect(self.openFolder) # Split button self.splitButton = QPushButton("分割") self.splitButton.setToolTip("对当前时间点的位置进行分割") self.splitButton.setEnabled(False) self.splitButton.setFixedHeight(24) self.splitButton.clicked.connect(self.split) # Export selected button # self.exportAllButton = QPushButton("Export selected splits") # self.exportAllButton.setToolTip("Join all selected splits in a single video file") # self.exportAllButton.setEnabled(False) # self.exportAllButton.setFixedHeight(24) # self.exportAllButton.clicked.connect(self.exportVideo) # Export Audio button self.exportAudioButton = QPushButton("提取音频MP3") self.exportAudioButton.setToolTip("提取整段视频文件的音频导出为MP3") self.exportAudioButton.setEnabled(False) self.exportAudioButton.setFixedHeight(24) self.exportAudioButton.clicked.connect(self.exportAuido) # Export JPG button self.exportJPGButton = QPushButton("当前画面截取JPG") self.exportJPGButton.setToolTip("将当前时间点的画面保存为") self.exportJPGButton.setEnabled(False) self.exportJPGButton.setFixedHeight(24) # print(self.mediaPlayer.position()) self.exportJPGButton.clicked.connect(self.exportJPG) # Status bar self.statusBar = QStatusBar() self.statusBar.setFixedHeight(24) self.statusBar.showMessage("请直接将视频文件拖入窗口") # Controls layout [open, play and slider] # sliderLayout = QHBoxLayout() timeLayout = QHBoxLayout() timeLayout.setContentsMargins(0, 0, 0, 0) timeLayout.addWidget(self.playButton) timeLayout.addStretch(1) # 增加伸缩量 # timeLayout.addWidget(openButton) # timeLayout.addStretch(1) # 增加伸缩量 timeLayout.addWidget(self.timeLabel) # Controls layout [open, play and slider] controlLayout = QHBoxLayout() controlLayout.setContentsMargins(0, 0, 0, 0) controlLayout.addWidget(self.splitButton) controlLayout.addWidget(self.positionSlider) # Editor layout [split and export_all] editorLayout = QHBoxLayout() editorLayout.setContentsMargins(0, 0, 0, 0) editorLayout.addWidget(self.openFolderButton) editorLayout.addStretch(50) # 增加伸缩量 editorLayout.addWidget(self.exportJPGButton) editorLayout.addWidget(self.exportAudioButton) # editorLayout.addWidget(self.exportAllButton) editorLayout.addStretch(1) # Splits layout self.splitsLayout = QHBoxLayout() self.splitsLayout.setContentsMargins(0, 0, 0, 0) self.splitsLayout.setSpacing(0) # General layout layout = QVBoxLayout() layout.addWidget(videoWidget) layout.addLayout(timeLayout) layout.addLayout(controlLayout) layout.addLayout(self.splitsLayout) layout.addLayout(editorLayout) layout.addWidget(self.statusBar) self.setLayout(layout)
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(681, 491) icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap("C:\\Users\\Скрипт\\Desktop\\Mplayer\\check.ico"), QtGui.QIcon.Normal, QtGui.QIcon.Off) MainWindow.setWindowIcon(icon) MainWindow.setIconSize(QtCore.QSize(256, 256)) MainWindow.setToolButtonStyle(QtCore.Qt.ToolButtonIconOnly) MainWindow.setUnifiedTitleAndToolBarOnMac(False) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.gridLayout = QtWidgets.QGridLayout(self.centralwidget) self.gridLayout.setContentsMargins(5, 5, -1, -1) self.gridLayout.setObjectName("gridLayout") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setSizeConstraint( QtWidgets.QLayout.SetDefaultConstraint) self.verticalLayout.setSpacing(1) self.verticalLayout.setObjectName("verticalLayout") self.widget = QVideoWidget(self.centralwidget) self.widget.setStyleSheet("background-color: rgb(0, 0, 0);") self.widget.setObjectName("widget") self.verticalLayout.addWidget(self.widget) self.gridLayout.addLayout(self.verticalLayout, 0, 0, 1, 1) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setSizeConstraint( QtWidgets.QLayout.SetNoConstraint) self.horizontalLayout.setObjectName("horizontalLayout") self.pushButton = QtWidgets.QPushButton(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.pushButton.sizePolicy().hasHeightForWidth()) self.pushButton.setSizePolicy(sizePolicy) self.pushButton.setObjectName("pushButton") self.horizontalLayout.addWidget(self.pushButton) self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.pushButton_2.sizePolicy().hasHeightForWidth()) self.pushButton_2.setSizePolicy(sizePolicy) self.pushButton_2.setText("") self.pushButton_2.setObjectName("pushButton_2") self.horizontalLayout.addWidget(self.pushButton_2) self.horizontalSlider = QtWidgets.QSlider(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.horizontalSlider.sizePolicy().hasHeightForWidth()) self.horizontalSlider.setSizePolicy(sizePolicy) self.horizontalSlider.setMaximum(100) self.horizontalSlider.setProperty("value", 0) self.horizontalSlider.setSliderPosition(0) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.horizontalLayout.addWidget(self.horizontalSlider) self.label = QtWidgets.QLabel(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.label.sizePolicy().hasHeightForWidth()) self.label.setSizePolicy(sizePolicy) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.horizontalSlider_2 = QtWidgets.QSlider(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.horizontalSlider_2.sizePolicy().hasHeightForWidth()) self.horizontalSlider_2.setSizePolicy(sizePolicy) self.horizontalSlider_2.setMaximum(100) self.horizontalSlider_2.setProperty("value", 50) self.horizontalSlider_2.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider_2.setObjectName("horizontalSlider_2") self.horizontalLayout.addWidget(self.horizontalSlider_2) self.gridLayout.addLayout(self.horizontalLayout, 1, 0, 1, 1) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 681, 21)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusBar = QtWidgets.QStatusBar(MainWindow) self.statusBar.setObjectName("statusBar") MainWindow.setStatusBar(self.statusBar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle( _translate("MainWindow", "Cinema Player 1.01")) self.pushButton.setText(_translate("MainWindow", "Открыть")) self.label.setText(_translate("MainWindow", "Громкость"))
class Ui_playAnomalyVideo(object): def setupUi(self, playAnomalyVideo): playAnomalyVideo.setObjectName("playAnomalyVideo") playAnomalyVideo.resize(594, 543) playAnomalyVideo.setStyleSheet("*{\n" "font-family: century gothic;\n" "background: #2A2F3C ;\n" "}\n" "QLineEdit, QTextEdit{\n" "background-color:#1C1D25;\n" "border:#1C1D25;\n" "color:white;\n" "font-size:18px;\n" "}\n" "QLabel{\n" "color: white;\n" "font-size: 20px;\n" "\n" "}\n" "QPushButton, QToolButton{\n" "font-weight:bold;\n" "color:white ;\n" "background:#1C1D25;\n" "}\n" "QPushButton:hover{\n" "color:white;\n" "background-color:black;\n" "}\n" "") self.centralwidget = QtWidgets.QWidget(playAnomalyVideo) self.centralwidget.setObjectName("centralwidget") self.horizontalLayout = QtWidgets.QHBoxLayout(self.centralwidget) self.horizontalLayout.setObjectName("horizontalLayout") self.verticalLayout_13 = QtWidgets.QVBoxLayout() self.verticalLayout_13.setObjectName("verticalLayout_13") self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.videoPathfield = QtWidgets.QLineEdit(self.centralwidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(31) sizePolicy.setHeightForWidth( self.videoPathfield.sizePolicy().hasHeightForWidth()) self.videoPathfield.setSizePolicy(sizePolicy) self.videoPathfield.setMinimumSize(QtCore.QSize(320, 31)) self.videoPathfield.setStyleSheet("QLineEdit{\n" "background-color:#1C1D25;\n" "border:#1C1D25;\n" "color:white;\n" "font-size:18px;\n" "}") self.videoPathfield.setObjectName("videoPathfield") self.horizontalLayout_6.addWidget(self.videoPathfield) self.videoPathEnter_pushButton = QtWidgets.QPushButton( self.centralwidget) self.videoPathEnter_pushButton.setObjectName( "videoPathEnter_pushButton") self.horizontalLayout_6.addWidget(self.videoPathEnter_pushButton) self.verticalLayout_13.addLayout(self.horizontalLayout_6) spacerItem = QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) self.verticalLayout_13.addItem(spacerItem) self.anomalyVideoDisplay = QVideoWidget(self.centralwidget) self.anomalyVideoDisplay.setMinimumSize(QtCore.QSize(350, 400)) self.anomalyVideoDisplay.setMaximumSize( QtCore.QSize(16777215, 16777215)) self.anomalyVideoDisplay.setStyleSheet( "\n" "background-color: rgb(0, 0, 0);\n" "") self.anomalyVideoDisplay.setObjectName("anomalyVideoDisplay") self.verticalLayout_13.addWidget(self.anomalyVideoDisplay) spacerItem1 = QtWidgets.QSpacerItem(20, 10, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) self.verticalLayout_13.addItem(spacerItem1) self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.play_pushButton = QtWidgets.QPushButton(self.centralwidget) self.play_pushButton.setText("") icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/menubar/play-24.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.play_pushButton.setIcon(icon) self.play_pushButton.setObjectName("play_pushButton") self.horizontalLayout_4.addWidget(self.play_pushButton) self.pause_pushButton = QtWidgets.QPushButton(self.centralwidget) self.pause_pushButton.setText("") icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/logo/media-pause-24.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pause_pushButton.setIcon(icon1) self.pause_pushButton.setObjectName("pause_pushButton") self.horizontalLayout_4.addWidget(self.pause_pushButton) self.videoSlider = QtWidgets.QSlider(self.centralwidget) self.videoSlider.setOrientation(QtCore.Qt.Horizontal) self.videoSlider.setObjectName("videoSlider") self.horizontalLayout_4.addWidget(self.videoSlider) self.videoDurationChanged = QtWidgets.QLabel(self.centralwidget) self.videoDurationChanged.setObjectName("videoDurationChanged") self.horizontalLayout_4.addWidget(self.videoDurationChanged) self.verticalLayout_13.addLayout(self.horizontalLayout_4) spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.verticalLayout_13.addItem(spacerItem2) self.horizontalLayout.addLayout(self.verticalLayout_13) playAnomalyVideo.setCentralWidget(self.centralwidget) self.retranslateUi(playAnomalyVideo) QtCore.QMetaObject.connectSlotsByName(playAnomalyVideo) def retranslateUi(self, playAnomalyVideo): _translate = QtCore.QCoreApplication.translate playAnomalyVideo.setWindowTitle( _translate("playAnomalyVideo", "MainWindow")) self.videoPathfield.setText( _translate("playAnomalyVideo", "Enter video path here")) self.videoPathEnter_pushButton.setText( _translate("playAnomalyVideo", "Enter")) self.videoDurationChanged.setText( _translate("playAnomalyVideo", "Duration"))
class Ui_Dialog(QWidget): def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(975, 558) Dialog.setStyleSheet("background-color: rgb(0, 85, 255);\n" "background-color: rgb(255, 170, 0);") self.checkBox = QtWidgets.QCheckBox(Dialog) self.checkBox.setGeometry(QtCore.QRect(10, 300, 81, 21)) self.checkBox.setMinimumSize(QtCore.QSize(81, 0)) self.checkBox.setMaximumSize(QtCore.QSize(81, 21)) font = QtGui.QFont() font.setPointSize(8) self.checkBox.setFont(font) self.checkBox.setObjectName("checkBox") self.checkBox_2 = QtWidgets.QCheckBox(Dialog) self.checkBox_2.setGeometry(QtCore.QRect(10, 340, 81, 20)) self.checkBox_2.setObjectName("checkBox_2") self.checkBox_3 = QtWidgets.QCheckBox(Dialog) self.checkBox_3.setGeometry(QtCore.QRect(10, 380, 81, 20)) self.checkBox_3.setObjectName("checkBox_3") self.checkBox_4 = QtWidgets.QCheckBox(Dialog) self.checkBox_4.setGeometry(QtCore.QRect(10, 420, 81, 20)) self.checkBox_4.setObjectName("checkBox_4") self.checkBox_5 = QtWidgets.QCheckBox(Dialog) self.checkBox_5.setGeometry(QtCore.QRect(10, 460, 81, 20)) self.checkBox_5.setObjectName("checkBox_5") self.checkBox_6 = QtWidgets.QCheckBox(Dialog) self.checkBox_6.setGeometry(QtCore.QRect(10, 500, 81, 20)) self.checkBox_6.setObjectName("checkBox_6") self.line_2 = QtWidgets.QFrame(Dialog) self.line_2.setGeometry(QtCore.QRect(0, 59, 981, 21)) font = QtGui.QFont() font.setPointSize(7) font.setBold(False) font.setWeight(50) self.line_2.setFont(font) self.line_2.setFrameShape(QtWidgets.QFrame.HLine) self.line_2.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_2.setObjectName("line_2") self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(120, 297, 93, 31)) self.pushButton.setStyleSheet("background-color: rgb(255, 255, 255);") self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Dialog) self.pushButton_2.setGeometry(QtCore.QRect(120, 340, 93, 28)) self.pushButton_2.setStyleSheet( "background-color: rgb(255, 255, 255);") self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(Dialog) self.pushButton_3.setGeometry(QtCore.QRect(120, 380, 93, 28)) self.pushButton_3.setStyleSheet( "background-color: rgb(255, 255, 255);\n" "\n" "") self.pushButton_3.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(Dialog) self.pushButton_4.setGeometry(QtCore.QRect(120, 420, 93, 28)) self.pushButton_4.setStyleSheet( "background-color: rgb(255, 255, 255);") self.pushButton_4.setObjectName("pushButton_4") self.pushButton_5 = QtWidgets.QPushButton(Dialog) self.pushButton_5.setGeometry(QtCore.QRect(120, 460, 93, 28)) self.pushButton_5.setStyleSheet( "background-color: rgb(255, 255, 255);\n" "") self.pushButton_5.setObjectName("pushButton_5") self.pushButton_6 = QtWidgets.QPushButton(Dialog) self.pushButton_6.setGeometry(QtCore.QRect(120, 500, 93, 28)) self.pushButton_6.setStyleSheet( "background-color: rgb(255, 255, 255);") self.pushButton_6.setObjectName("pushButton_6") self.line = QtWidgets.QFrame(Dialog) self.line.setGeometry(QtCore.QRect(213, 70, 20, 501)) font = QtGui.QFont() font.setPointSize(7) font.setBold(False) font.setWeight(50) self.line.setFont(font) self.line.setFrameShape(QtWidgets.QFrame.VLine) self.line.setFrameShadow(QtWidgets.QFrame.Sunken) self.line.setObjectName("line") self.pushButton_7 = QtWidgets.QPushButton(Dialog) self.pushButton_7.setGeometry(QtCore.QRect(10, 100, 201, 28)) self.pushButton_7.setStyleSheet( "background-color: qradialgradient(spread:repeat, cx:0.5, cy:0.5, radius:0.077, fx:0.5, fy:0.5, stop:0 rgba(0, 169, 255, 147), stop:0.497326 rgba(0, 0, 0, 147), stop:1 rgba(0, 169, 255, 147));\n" "background-color: rgb(255, 255, 255);") self.pushButton_7.setObjectName("pushButton_7") self.pushButton_7.clicked.connect(self.open_file) self.pushButton_8 = QtWidgets.QPushButton(Dialog) self.pushButton_8.setGeometry(QtCore.QRect(10, 160, 201, 28)) self.pushButton_8.setStyleSheet( "background-color: rgb(255, 255, 255);") self.pushButton_8.setObjectName("pushButton_8") self.line_3 = QtWidgets.QFrame(Dialog) self.line_3.setGeometry(QtCore.QRect(230, 510, 741, 16)) self.line_3.setFrameShape(QtWidgets.QFrame.HLine) self.line_3.setFrameShadow(QtWidgets.QFrame.Sunken) self.line_3.setObjectName("line_3") self.pushButton_9 = QtWidgets.QPushButton(Dialog) self.pushButton_9.setGeometry(QtCore.QRect(450, 520, 131, 28)) self.pushButton_9.setStyleSheet( "background-color: rgb(255, 255, 255);") self.pushButton_9.setObjectName("pushButton_9") self.pushButton_9.clicked.connect(self.play_video) self.pushButton_10 = QtWidgets.QPushButton(Dialog) self.pushButton_10.setGeometry(QtCore.QRect(730, 520, 93, 28)) self.pushButton_10.setStyleSheet( "background-color: rgb(255, 255, 255);\n" "border-color: rgb(0, 0, 0);") self.pushButton_10.setObjectName("pushButton_10") self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(470, 20, 141, 31)) font = QtGui.QFont() font.setFamily("MS Sans Serif") font.setPointSize(17) font.setBold(True) font.setItalic(True) font.setWeight(75) self.label.setFont(font) self.label.setObjectName("label") self.frame = QtWidgets.QFrame(Dialog) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.frame.setGeometry(QtCore.QRect(260, 90, 151, 101)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.video1 = QVideoWidget(self.frame) self.video1.setGeometry(QtCore.QRect(0, 0, 121, 101)) self.video1.setStyleSheet("background-color: rgb(0, 0, 0);") self.video1.setObjectName("video1") self.pushButton_7.raise_() self.checkBox.raise_() self.checkBox_2.raise_() self.checkBox_3.raise_() self.checkBox_4.raise_() self.checkBox_5.raise_() self.checkBox_6.raise_() self.line_2.raise_() self.pushButton.raise_() self.pushButton_2.raise_() self.pushButton_3.raise_() self.pushButton_4.raise_() self.pushButton_5.raise_() self.pushButton_6.raise_() self.line.raise_() self.pushButton_8.raise_() self.line_3.raise_() self.pushButton_9.raise_() self.pushButton_10.raise_() self.label.raise_() self.frame.raise_() self.mediaPlayer.setVideoOutput(self.video1) self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.checkBox.setText(_translate("Dialog", "method 1")) self.checkBox_2.setText(_translate("Dialog", "method 2")) self.checkBox_3.setText(_translate("Dialog", "method 3")) self.checkBox_4.setText(_translate("Dialog", "method 4")) self.checkBox_5.setText(_translate("Dialog", "method 5")) self.checkBox_6.setText(_translate("Dialog", "method 6")) self.pushButton.setText(_translate("Dialog", "DEMO")) self.pushButton_2.setText(_translate("Dialog", "DEMO")) self.pushButton_3.setText(_translate("Dialog", "DEMO")) self.pushButton_4.setText(_translate("Dialog", "DEMO")) self.pushButton_5.setText(_translate("Dialog", "DEMO")) self.pushButton_6.setText(_translate("Dialog", "DEMO")) self.pushButton_7.setText(_translate("Dialog", "Browse Input Video")) self.pushButton_8.setText( _translate("Dialog", "Browse ground frame image")) self.pushButton_9.setText(_translate("Dialog", "Play selected video")) self.pushButton_10.setText(_translate("Dialog", "Close")) self.label.setText(_translate("Dialog", "VIDEO")) self.mediaPlayer.setVideoOutput(self.video1) self.mediaPlayer.stateChanged.connect(self.mediastate_changed) # self.mediaPlayer.positionChanged.connect(self.position_changed) # self.mediaPlayer.durationChanged.connect(self.duration_changed) def open_file(self): filename, _ = QFileDialog.getOpenFileName(self, "Open Video") if filename != '': self.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(filename))) self.pushButton_9.setEnabled(True) def play_video(self): if self.mediaPlayer.state() == QMediaPlayer.PlayingState: self.mediaPlayer.pause() else: self.mediaPlayer.play() def mediastate_changed(self, state): if self.mediaPlayer.state() == QMediaPlayer.PlayingState: self.pushButton_9.setIcon(self.style().standardIcon( QStyle.SP_MediaPause)) else: self.pushButton_9.setIcon(self.style().standardIcon( QStyle.SP_MediaPlay)) def handle_errors(self): self.pushButton_9.setEnabled(False) self.label.setText("Error: " + self.mediaPlayer.errorString())
class Ui_MainWindow(QtWidgets.QMainWindow): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.setWindowModality(QtCore.Qt.NonModal) MainWindow.resize(999, 749) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) MainWindow.setAnimated(True) self.centralwidget = QtWidgets.QWidget(MainWindow) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.centralwidget.sizePolicy().hasHeightForWidth()) self.centralwidget.setSizePolicy(sizePolicy) self.centralwidget.setObjectName("centralwidget") self.first_mediaplayer = QtWidgets.QFrame(self.centralwidget) self.first_mediaplayer.setGeometry(QtCore.QRect(540, 0, 461, 301)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.first_mediaplayer.sizePolicy().hasHeightForWidth()) self.first_mediaplayer.setSizePolicy(sizePolicy) self.first_mediaplayer.setStyleSheet("") self.first_mediaplayer.setFrameShape(QtWidgets.QFrame.StyledPanel) self.first_mediaplayer.setFrameShadow(QtWidgets.QFrame.Raised) self.first_mediaplayer.setObjectName("first_mediaplayer") self.time_slider = QtWidgets.QSlider(self.first_mediaplayer) self.time_slider.setGeometry(QtCore.QRect(58, 240, 311, 31)) self.time_slider.setOrientation(QtCore.Qt.Horizontal) self.time_slider.setObjectName("time_slider") self.current_time_label = QtWidgets.QLabel(self.first_mediaplayer) self.current_time_label.setGeometry(QtCore.QRect(20, 248, 60, 16)) self.current_time_label.setObjectName("current_time_label") self.time_left_label = QtWidgets.QLabel(self.first_mediaplayer) self.time_left_label.setGeometry(QtCore.QRect(380, 248, 60, 16)) self.time_left_label.setObjectName("time_left_label") self.video_player = QVideoWidget(self.first_mediaplayer) self.video_player.setEnabled(True) self.video_player.setGeometry(QtCore.QRect(20, 7, 419, 236)) self.video_player.setAutoFillBackground(False) self.video_player.setStyleSheet( "background-color: rgb(255, 255, 255);") self.video_player.setObjectName("video_player") self.volume_control = QtWidgets.QSlider(self.first_mediaplayer) self.volume_control.setGeometry(QtCore.QRect(340, 262, 101, 22)) self.volume_control.setOrientation(QtCore.Qt.Horizontal) self.volume_control.setObjectName("volume_control") self.pauseButton = QtWidgets.QPushButton(self.first_mediaplayer) self.pauseButton.setGeometry(QtCore.QRect(150, 260, 31, 31)) self.pauseButton.setAutoFillBackground(False) self.pauseButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.pauseButton.setText("") icon = QtGui.QIcon() icon.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/pause1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.pauseButton.setIcon(icon) self.pauseButton.setIconSize(QtCore.QSize(31, 31)) self.pauseButton.setObjectName("pauseButton") self.playButton = QtWidgets.QPushButton(self.first_mediaplayer) self.playButton.setGeometry(QtCore.QRect(190, 260, 31, 31)) self.playButton.setAutoFillBackground(False) self.playButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.playButton.setText("") icon1 = QtGui.QIcon() icon1.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/play1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.playButton.setIcon(icon1) self.playButton.setIconSize(QtCore.QSize(31, 31)) self.playButton.setObjectName("playButton") self.nextButton = QtWidgets.QPushButton(self.first_mediaplayer) self.nextButton.setGeometry(QtCore.QRect(229, 260, 31, 31)) self.nextButton.setAutoFillBackground(False) self.nextButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.nextButton.setText("") icon2 = QtGui.QIcon() icon2.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/next_vid1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.nextButton.setIcon(icon2) self.nextButton.setIconSize(QtCore.QSize(31, 31)) self.nextButton.setObjectName("nextButton") self.stopButton = QtWidgets.QPushButton(self.first_mediaplayer) self.stopButton.setGeometry(QtCore.QRect(110, 260, 31, 31)) self.stopButton.setAutoFillBackground(False) self.stopButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.stopButton.setText("") icon3 = QtGui.QIcon() icon3.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/stop1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.stopButton.setIcon(icon3) self.stopButton.setIconSize(QtCore.QSize(31, 31)) self.stopButton.setObjectName("stopButton") self.muteButton = QtWidgets.QPushButton(self.first_mediaplayer) self.muteButton.setGeometry(QtCore.QRect(278, 262, 23, 23)) self.muteButton.setAutoFillBackground(False) self.muteButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.muteButton.setText("") icon4 = QtGui.QIcon() icon4.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/mute1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.muteButton.setIcon(icon4) self.muteButton.setIconSize(QtCore.QSize(31, 31)) self.muteButton.setObjectName("muteButton") self.volumeButton = QtWidgets.QPushButton(self.first_mediaplayer) self.volumeButton.setGeometry(QtCore.QRect(310, 261, 23, 23)) self.volumeButton.setAutoFillBackground(False) self.volumeButton.setStyleSheet( "background-color: rgba(255, 255, 255, 0);") self.volumeButton.setText("") icon5 = QtGui.QIcon() icon5.addPixmap( QtGui.QPixmap("resources/buttons/media_buttons/volume1.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.volumeButton.setIcon(icon5) self.volumeButton.setIconSize(QtCore.QSize(31, 31)) self.volumeButton.setObjectName("volumeButton") self.mini_viewer = QtWidgets.QFrame(self.centralwidget) self.mini_viewer.setGeometry(QtCore.QRect(10, 300, 991, 411)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.mini_viewer.sizePolicy().hasHeightForWidth()) self.mini_viewer.setSizePolicy(sizePolicy) self.mini_viewer.setStyleSheet("\n" "") self.mini_viewer.setFrameShape(QtWidgets.QFrame.StyledPanel) self.mini_viewer.setFrameShadow(QtWidgets.QFrame.Raised) self.mini_viewer.setObjectName("mini_viewer") self.timeline_1 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_1.setGeometry(QtCore.QRect(47, 77, 886, 24)) self.timeline_1.setStyleSheet("border-style: solid;\n" "border-width: 3px;\n" "border-color: rgb(250, 240, 242);") self.timeline_1.setObjectName("timeline_1") self.mini_view_1 = QtWidgets.QGraphicsView(self.mini_viewer) self.mini_view_1.setGeometry(QtCore.QRect(47, 107, 886, 86)) self.mini_view_1.setStyleSheet("border-style: solid;\n" "border-width: 3px;\n" "border-color: rgb(146, 130, 229);") self.mini_view_1.setObjectName("mini_view_1") self.timeline_2 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_2.setGeometry(QtCore.QRect(47, 217, 886, 24)) self.timeline_2.setStyleSheet( "border-style: solid;\n" "border-width: 3px;\n" "border-left-color: rgb(255, 150, 150);\n" "border-right-color: rgb(255, 255, 255);\n" "border-top-color: rgb(255, 255, 255);\n" "border-bottom-color: rgb(255, 255, 255);\n") self.timeline_2.setObjectName("timeline_2") self.mini_view_2 = QtWidgets.QGraphicsView(self.mini_viewer) self.mini_view_2.setGeometry(QtCore.QRect(47, 317, 886, 86)) self.mini_view_2.setStyleSheet("border-style: solid;\n" "border-width: 3px;\n" "border-color: rgb(146, 130, 229);") self.mini_view_2.setObjectName("mini_view_2") # a button to extract videos self.push_extract_1 = QtWidgets.QPushButton(self.mini_viewer) self.push_extract_1.setGeometry(QtCore.QRect(40, 20, 141, 31)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.push_extract_1.sizePolicy().hasHeightForWidth()) self.push_extract_1.setSizePolicy(sizePolicy) self.push_extract_1.setStyleSheet("") self.push_extract_1.setObjectName("push_extract_1") # a button for displaying anomalous time line self.push_extract_2 = QtWidgets.QPushButton(self.mini_viewer) self.push_extract_2.setGeometry(QtCore.QRect(200, 20, 141, 31)) self.push_extract_2.setSizePolicy(sizePolicy) self.push_extract_2.setStyleSheet("") self.push_extract_2.setObjectName("push_extract_2") self.timeline_3 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_3.setGeometry(QtCore.QRect(47, 252, 886, 24)) self.timeline_3.setStyleSheet( "border-style: solid;\n" "border-width: 3px;\n" "border-left-color: rgb(150, 255, 150);\n" "border-right-color: rgb(255, 255, 255);\n" "border-top-color: rgb(255, 255, 255);\n" "border-bottom-color: rgb(255, 255, 255);\n") self.timeline_3.setObjectName("timeline_3") self.timeline_4 = QtWidgets.QGraphicsView(self.mini_viewer) self.timeline_4.setGeometry(QtCore.QRect(47, 287, 886, 24)) self.timeline_4.setStyleSheet( "border-style: solid;\n" "border-width: 3px;\n" "border-left-color: rgb(150, 150, 255);\n" "border-right-color: rgb(255, 255, 255);\n" "border-top-color: rgb(255, 255, 255);\n" "border-bottom-color: rgb(255, 255, 255);") self.timeline_4.setObjectName("timeline_4") self.lcdNumber_1 = QtWidgets.QLCDNumber(self.mini_viewer) self.lcdNumber_1.setGeometry(QtCore.QRect(20, 50, 64, 23)) self.lcdNumber_1.setObjectName("lcdNumber_1") self.lcdNumber_1.setStyleSheet("border-style: transparent;\n" "color: rgb(146, 130, 229); ") #self.lcdNumber.display('10:00') self.lcdNumber_2 = QtWidgets.QLCDNumber(self.mini_viewer) self.lcdNumber_2.setGeometry(QtCore.QRect(242, 50, 64, 23)) self.lcdNumber_2.setObjectName("lcdNumber_2") self.lcdNumber_2.setStyleSheet("border-style: transparent;\n" "color: rgb(146, 130, 229); ") self.lcdNumber_4 = QtWidgets.QLCDNumber(self.mini_viewer) self.lcdNumber_4.setGeometry(QtCore.QRect(465, 50, 64, 23)) self.lcdNumber_4.setObjectName("lcdNumber_4") self.lcdNumber_4.setStyleSheet("border-style: transparent;\n" "color: rgb(146, 130, 229); ") self.lcdNumber_5 = QtWidgets.QLCDNumber(self.mini_viewer) self.lcdNumber_5.setGeometry(QtCore.QRect(688, 50, 64, 23)) self.lcdNumber_5.setObjectName("lcdNumber_5") self.lcdNumber_5.setStyleSheet("border-style: transparent;\n" "color: rgb(146, 130, 229); ") self.lcdNumber_6 = QtWidgets.QLCDNumber(self.mini_viewer) self.lcdNumber_6.setGeometry(QtCore.QRect(910, 50, 64, 23)) self.lcdNumber_6.setObjectName("lcdNumber_6") self.lcdNumber_6.setStyleSheet("border-style: transparent;\n" "color: rgb(146, 130, 229); ") self.textEdit = QtWidgets.QTextEdit(self.mini_viewer) self.textEdit.setGeometry(QtCore.QRect(500, 20, 441, 51)) self.textEdit.setObjectName("textEdit") self.textEdit.setStyleSheet("background-color: transparent;") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setGeometry(QtCore.QRect(20, 0, 511, 301)) self.tabWidget.setObjectName("tabWidget") self.tab1 = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tab1.sizePolicy().hasHeightForWidth()) self.tab1.setSizePolicy(sizePolicy) self.tab1.setObjectName("tab1") self.playlistView = QtWidgets.QListView(self.tab1) self.playlistView.setEnabled(True) self.playlistView.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.playlistView.setObjectName("playlistView") self.tabWidget.addTab(self.tab1, "") self.tab_2 = QtWidgets.QWidget() sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.tab_2.sizePolicy().hasHeightForWidth()) self.tab_2.setSizePolicy(sizePolicy) self.tab_2.setObjectName("tab_2") self.treeView2 = QtWidgets.QTreeView(self.tab_2) self.treeView2.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.treeView2.setAcceptDrops(True) self.treeView2.setObjectName("treeView2") self.tabWidget.addTab(self.tab_2, "") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.treeView2_2 = QtWidgets.QTreeView(self.tab) self.treeView2_2.setGeometry(QtCore.QRect(0, 0, 511, 271)) self.treeView2_2.setAcceptDrops(True) self.treeView2_2.setObjectName("treeView2_2") ## button to run models self.run_mil_button = QtWidgets.QPushButton(self.tab) self.run_mil_button.setEnabled(True) self.run_mil_button.setGeometry(QtCore.QRect(80, 10, 112, 32)) self.run_mil_button.setObjectName("run_mil_button") self.run_ffpa_button = QtWidgets.QPushButton(self.tab) self.run_ffpa_button.setEnabled(True) self.run_ffpa_button.setGeometry(QtCore.QRect(200, 10, 112, 32)) self.run_ffpa_button.setObjectName("run_ffpa_button") self.tabWidget.addTab(self.tab, "") MainWindow.setCentralWidget(self.centralwidget) self.menuBar = QtWidgets.QMenuBar(MainWindow) self.menuBar.setGeometry(QtCore.QRect(0, 0, 999, 22)) self.menuBar.setToolTipDuration(0) self.menuBar.setObjectName("menuBar") self.menuHelp = QtWidgets.QMenu(self.menuBar) self.menuHelp.setObjectName("menuHelp") self.menuEdit = QtWidgets.QMenu(self.menuBar) self.menuEdit.setObjectName("menuEdit") self.menuView = QtWidgets.QMenu(self.menuBar) self.menuView.setObjectName("menuView") self.menuFiles = QtWidgets.QMenu(self.menuBar) self.menuFiles.setObjectName("menuFiles") self.menuVidsurveil = QtWidgets.QMenu(self.menuBar) self.menuVidsurveil.setObjectName("menuVidsurveil") MainWindow.setMenuBar(self.menuBar) self.actionLicense = QtWidgets.QAction(MainWindow) self.actionLicense.setObjectName("actionLicense") self.actionAdd_Files = QtWidgets.QAction(MainWindow) self.actionAdd_Files.setCheckable(True) self.actionAdd_Files.setChecked(False) self.actionAdd_Files.setObjectName("actionAdd_Files") self.actionAbout = QtWidgets.QAction(MainWindow) self.actionAbout.setObjectName("actionAbout") self.menuHelp.addAction(self.actionLicense) self.menuFiles.addAction(self.actionAdd_Files) self.menuVidsurveil.addAction(self.actionAbout) self.menuBar.addAction(self.menuVidsurveil.menuAction()) self.menuBar.addAction(self.menuFiles.menuAction()) self.menuBar.addAction(self.menuView.menuAction()) self.menuBar.addAction(self.menuEdit.menuAction()) self.menuBar.addAction(self.menuHelp.menuAction()) self.retranslateUi(MainWindow) self.tabWidget.setCurrentIndex(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.textEdit.setHtml( _translate( "MainWindow", "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n" "<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n" "p, li { white-space: pre-wrap; }\n" "</style></head><body style=\" font-family:\'.AppleSystemUIFont\'; font-size:13pt; font-weight:400; font-style:normal;\">\n" "<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" color:#faf0f2;\">⬤</span><span style=\" color:#ee5262;\"> </span><span style=\" font-size:20pt; font-weight:600; color:#000000; vertical-align:sub;\">Combined </span><span style=\" color:#ff9696;\">⬤</span><span style=\" color:#96ff96;\"> </span><span style=\" font-size:20pt; font-weight:600; color:#000000; vertical-align:sub;\">MIL+C3D</span><span style=\" font-size:20pt; color:#000000; vertical-align:sub;\"> </span><span style=\" color:#96ff96;\">⬤</span><span style=\" font-size:20pt; color:#ee5262; vertical-align:sub;\"> </span><span style=\" font-size:20pt; font-weight:600; color:#000000; vertical-align:sub;\">Future Frame </span><span style=\" color:#9696ff;\">⬤</span><span style=\" color:#ee5262;\"> </span><span style=\" font-size:20pt; font-weight:600; color:#000000; vertical-align:sub;\">MNAD</span></p>\n" "<p style=\"-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:18pt; color:#000000; vertical-align:sub;\"><br /></p></body></html>" )) self.current_time_label.setText(_translate("MainWindow", "0:00")) self.time_left_label.setText(_translate("MainWindow", "0:00")) self.push_extract_1.setText(_translate("MainWindow", "Extract Videos")) self.push_extract_2.setText( _translate("MainWindow", "Show Anomalous Time")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab1), _translate("MainWindow", "Original Videos")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Extracted Videos")) self.run_mil_button.setText(_translate("MainWindow", "Run MIL")) self.run_ffpa_button.setText(_translate("MainWindow", "Run FFPA")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Model")) self.menuHelp.setTitle(_translate("MainWindow", "Help")) self.menuEdit.setTitle(_translate("MainWindow", "Edit")) self.menuView.setTitle(_translate("MainWindow", "View")) self.menuFiles.setTitle(_translate("MainWindow", "Files")) self.menuVidsurveil.setTitle(_translate("MainWindow", "Vidsurveil")) self.actionLicense.setText(_translate("MainWindow", "License")) self.actionAdd_Files.setText(_translate("MainWindow", "Add Files")) self.actionAbout.setText(_translate("MainWindow", "About"))
class Ui_VideoAnnoWidget(object): def setupUi(self, VideoAnnoWidget): VideoAnnoWidget.setObjectName("VideoAnnoWidget") VideoAnnoWidget.resize(1168, 750) self.horizontalLayout_3 = QtWidgets.QHBoxLayout(VideoAnnoWidget) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setContentsMargins(4, 8, 8, 4) self.verticalLayout.setObjectName("verticalLayout") self.videoWidget = QVideoWidget(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.videoWidget.sizePolicy().hasHeightForWidth()) self.videoWidget.setSizePolicy(sizePolicy) self.videoWidget.setStyleSheet("background-color: rgb(0, 0, 0);") self.videoWidget.setObjectName("videoWidget") self.verticalLayout.addWidget(self.videoWidget) self.segmentColorBar = SegmentColorBar(VideoAnnoWidget) self.segmentColorBar.setMaximumSize(QtCore.QSize(16777215, 12)) self.segmentColorBar.setText("") self.segmentColorBar.setObjectName("segmentColorBar") self.verticalLayout.addWidget(self.segmentColorBar) self.positionSlider = QtWidgets.QSlider(VideoAnnoWidget) self.positionSlider.setOrientation(QtCore.Qt.Horizontal) self.positionSlider.setObjectName("positionSlider") self.verticalLayout.addWidget(self.positionSlider) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.playButton = QtWidgets.QPushButton(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.playButton.sizePolicy().hasHeightForWidth()) self.playButton.setSizePolicy(sizePolicy) self.playButton.setMinimumSize(QtCore.QSize(30, 30)) self.playButton.setMaximumSize(QtCore.QSize(30, 30)) self.playButton.setBaseSize(QtCore.QSize(30, 30)) self.playButton.setText("") self.playButton.setObjectName("playButton") self.horizontalLayout_2.addWidget(self.playButton) self.stepBackwardButton = QtWidgets.QPushButton(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.stepBackwardButton.sizePolicy().hasHeightForWidth()) self.stepBackwardButton.setSizePolicy(sizePolicy) self.stepBackwardButton.setMinimumSize(QtCore.QSize(30, 30)) self.stepBackwardButton.setMaximumSize(QtCore.QSize(30, 30)) self.stepBackwardButton.setText("") self.stepBackwardButton.setObjectName("stepBackwardButton") self.horizontalLayout_2.addWidget(self.stepBackwardButton) self.stepForwardButton = QtWidgets.QPushButton(VideoAnnoWidget) self.stepForwardButton.setMinimumSize(QtCore.QSize(30, 30)) self.stepForwardButton.setMaximumSize(QtCore.QSize(30, 30)) self.stepForwardButton.setText("") self.stepForwardButton.setObjectName("stepForwardButton") self.horizontalLayout_2.addWidget(self.stepForwardButton) self.curTimeLabel = QtWidgets.QLabel(VideoAnnoWidget) self.curTimeLabel.setObjectName("curTimeLabel") self.horizontalLayout_2.addWidget(self.curTimeLabel) spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_2.addItem(spacerItem) self.label = QtWidgets.QLabel(VideoAnnoWidget) self.label.setObjectName("label") self.horizontalLayout_2.addWidget(self.label) self.stepSpinBox = QtWidgets.QSpinBox(VideoAnnoWidget) self.stepSpinBox.setMinimumSize(QtCore.QSize(100, 30)) self.stepSpinBox.setMaximumSize(QtCore.QSize(100, 30)) self.stepSpinBox.setMinimum(50) self.stepSpinBox.setMaximum(999999999) self.stepSpinBox.setObjectName("stepSpinBox") self.horizontalLayout_2.addWidget(self.stepSpinBox) self.verticalLayout.addLayout(self.horizontalLayout_2) self.verticalLayout.setStretch(0, 1) self.horizontalLayout_3.addLayout(self.verticalLayout) self.verticalLayout_4 = QtWidgets.QVBoxLayout() self.verticalLayout_4.setObjectName("verticalLayout_4") self.horizontalLayout_4 = QtWidgets.QHBoxLayout() self.horizontalLayout_4.setObjectName("horizontalLayout_4") self.label_3 = QtWidgets.QLabel(VideoAnnoWidget) self.label_3.setObjectName("label_3") self.horizontalLayout_4.addWidget(self.label_3) self.labelLineEdit = QtWidgets.QLineEdit(VideoAnnoWidget) self.labelLineEdit.setObjectName("labelLineEdit") self.horizontalLayout_4.addWidget(self.labelLineEdit) self.verticalLayout_4.addLayout(self.horizontalLayout_4) self.horizontalLayout_6 = QtWidgets.QHBoxLayout() self.horizontalLayout_6.setObjectName("horizontalLayout_6") self.verticalLayout_5 = QtWidgets.QVBoxLayout() self.verticalLayout_5.setObjectName("verticalLayout_5") self.label_5 = QtWidgets.QLabel(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth()) self.label_5.setSizePolicy(sizePolicy) self.label_5.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_5.setObjectName("label_5") self.verticalLayout_5.addWidget(self.label_5) self.startTimeLabel = QtWidgets.QLabel(VideoAnnoWidget) self.startTimeLabel.setStyleSheet("background-color: rgb(195, 195, 195);") self.startTimeLabel.setObjectName("startTimeLabel") self.verticalLayout_5.addWidget(self.startTimeLabel) self.getStartTimeButton = QtWidgets.QPushButton(VideoAnnoWidget) self.getStartTimeButton.setMinimumSize(QtCore.QSize(0, 30)) self.getStartTimeButton.setMaximumSize(QtCore.QSize(16777215, 30)) self.getStartTimeButton.setObjectName("getStartTimeButton") self.verticalLayout_5.addWidget(self.getStartTimeButton) self.horizontalLayout_6.addLayout(self.verticalLayout_5) self.verticalLayout_3 = QtWidgets.QVBoxLayout() self.verticalLayout_3.setObjectName("verticalLayout_3") self.label_2 = QtWidgets.QLabel(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.label_2.sizePolicy().hasHeightForWidth()) self.label_2.setSizePolicy(sizePolicy) self.label_2.setMaximumSize(QtCore.QSize(16777215, 20)) self.label_2.setObjectName("label_2") self.verticalLayout_3.addWidget(self.label_2) self.endTimeLabel = QtWidgets.QLabel(VideoAnnoWidget) self.endTimeLabel.setStyleSheet("background-color: rgb(195, 195, 195);") self.endTimeLabel.setObjectName("endTimeLabel") self.verticalLayout_3.addWidget(self.endTimeLabel) self.getEndTimeButton = QtWidgets.QPushButton(VideoAnnoWidget) self.getEndTimeButton.setMinimumSize(QtCore.QSize(0, 30)) self.getEndTimeButton.setMaximumSize(QtCore.QSize(16777215, 30)) self.getEndTimeButton.setObjectName("getEndTimeButton") self.verticalLayout_3.addWidget(self.getEndTimeButton) self.horizontalLayout_6.addLayout(self.verticalLayout_3) self.verticalLayout_4.addLayout(self.horizontalLayout_6) self.horizontalLayout_5 = QtWidgets.QHBoxLayout() self.horizontalLayout_5.setObjectName("horizontalLayout_5") self.label_4 = QtWidgets.QLabel(VideoAnnoWidget) self.label_4.setObjectName("label_4") self.horizontalLayout_5.addWidget(self.label_4) self.addSegmentButton = QtWidgets.QPushButton(VideoAnnoWidget) self.addSegmentButton.setMinimumSize(QtCore.QSize(30, 30)) self.addSegmentButton.setMaximumSize(QtCore.QSize(30, 30)) self.addSegmentButton.setText("") self.addSegmentButton.setObjectName("addSegmentButton") self.horizontalLayout_5.addWidget(self.addSegmentButton) self.delSegmentButton = QtWidgets.QPushButton(VideoAnnoWidget) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.delSegmentButton.sizePolicy().hasHeightForWidth()) self.delSegmentButton.setSizePolicy(sizePolicy) self.delSegmentButton.setMinimumSize(QtCore.QSize(30, 30)) self.delSegmentButton.setMaximumSize(QtCore.QSize(30, 30)) self.delSegmentButton.setText("") self.delSegmentButton.setObjectName("delSegmentButton") self.horizontalLayout_5.addWidget(self.delSegmentButton) self.verticalLayout_4.addLayout(self.horizontalLayout_5) self.segmentListWidget = QtWidgets.QListWidget(VideoAnnoWidget) self.segmentListWidget.setObjectName("segmentListWidget") self.verticalLayout_4.addWidget(self.segmentListWidget) self.verticalLayout_4.setStretch(3, 1) self.horizontalLayout_3.addLayout(self.verticalLayout_4) self.horizontalLayout_3.setStretch(0, 1) self.retranslateUi(VideoAnnoWidget) QtCore.QMetaObject.connectSlotsByName(VideoAnnoWidget) def retranslateUi(self, VideoAnnoWidget): _translate = QtCore.QCoreApplication.translate VideoAnnoWidget.setWindowTitle(_translate("VideoAnnoWidget", "Form")) self.playButton.setToolTip(_translate("VideoAnnoWidget", "Play / Pause Video")) self.stepBackwardButton.setToolTip(_translate("VideoAnnoWidget", "Video Step Backward")) self.stepForwardButton.setToolTip(_translate("VideoAnnoWidget", "Video Step Forward")) self.curTimeLabel.setText(_translate("VideoAnnoWidget", "00:00:00")) self.label.setText(_translate("VideoAnnoWidget", "Step Size")) self.stepSpinBox.setSuffix(_translate("VideoAnnoWidget", " ms")) self.label_3.setText(_translate("VideoAnnoWidget", "Label")) self.label_5.setText(_translate("VideoAnnoWidget", "Segment Start")) self.startTimeLabel.setText(_translate("VideoAnnoWidget", "00:00:00")) self.getStartTimeButton.setToolTip(_translate("VideoAnnoWidget", "Grab Segment Start Time")) self.getStartTimeButton.setText(_translate("VideoAnnoWidget", "Grab Time")) self.label_2.setText(_translate("VideoAnnoWidget", "Segment End")) self.endTimeLabel.setText(_translate("VideoAnnoWidget", "00:00:00")) self.getEndTimeButton.setToolTip(_translate("VideoAnnoWidget", "Grab Segment End Time")) self.getEndTimeButton.setText(_translate("VideoAnnoWidget", "Grab Time")) self.label_4.setText(_translate("VideoAnnoWidget", "Segments")) self.addSegmentButton.setToolTip(_translate("VideoAnnoWidget", "Add New Segment")) self.delSegmentButton.setToolTip(_translate("VideoAnnoWidget", "Delete Selected Segment"))
class GUI(QMainWindow): def __init__(self): super().__init__() self.ui=Ui_MainWindow() self.ui.setupUi(self) self.setWindowTitle("Video Player") self.setWindowIcon(QIcon(r"C:\Users\Yash\PycharmProjects\ppppp\App-Media-icon.png")) self.ui.files.setCheckable(True) self.setMinimumSize(500,500) status=QStatusBar(self) status.setStyleSheet("background-color: rgb(177, 177, 177);") self.setStatusBar(status) self.player=QMediaPlayer() self.player.play() self.player.error.connect(self.erroralert) self.playlist = QMediaPlaylist() self.ui.play.clicked.connect(self.plays) self.current=False self.player.setPlaylist(self.playlist) self.player.setVolume(30) self.ui.horizontalSlider_2.setValue(30) self.videoWidget = QVideoWidget(self) self.videoWidget.setGeometry(10,300,141,111) self.videoWidget.setStyleSheet("background-color: rgb(0,0,0);") self.player.setVideoOutput(self.videoWidget) style="""QSlider::groove:horizontal { border: 1px solid #bbb; background: black; height: 10px; border-radius: 4px; } QSlider::sub-page:horizontal { background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, stop: 0 #66e, stop: 1 #bbf); background: qlineargradient(x1: 0, y1: 0.2, x2: 1, y2: 1, stop: 0 #bbf, stop: 1 #55f); border: 1px solid #777; height: 10px; border-radius: 4px; } QSlider::add-page:horizontal { background: #fff; border: 1px solid #777; height: 10px; border-radius: 4px; } QSlider::handle:horizontal { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #eee, stop:1 #ccc); border: 1px solid #777; width: 13px; margin-top: -2px; margin-bottom: -2px; border-radius: 4px; } QSlider::handle:horizontal:hover { background: qlineargradient(x1:0, y1:0, x2:1, y2:1, stop:0 #000, stop:1 #ddd); border: 1px solid #444; border-radius: 4px; } QSlider::sub-page:horizontal:disabled { background: #bbb; border-color: #999; } QSlider::add-page:horizontal:disabled { background: #eee; border-color: #999; } QSlider::handle:horizontal:disabled { background: #eee; border: 1px solid #aaa; border-radius: 4px; }""" self.ui.horizontalSlider_3.setMinimum(0) self.ui.horizontalSlider_3.setMaximum(2) self.ui.horizontalSlider_3.setValue(1) self.player.setPlaybackRate(1) self.ui.horizontalSlider_3.valueChanged.connect(self.volume) self.ui.horizontalSlider.setStyleSheet(style) self.ui.horizontalSlider.setPageStep(5) self.ui.horizontalSlider.setSingleStep(5) self.ui.play.setToolTip("Play") self.ui.horizontalSlider_2.valueChanged.connect(self.voice) self.ui.next.pressed.connect(self.playlist.next) self.ui.prev.pressed.connect(self.playlist.previous) self.ui.reset.pressed.connect(self.stop) self.working=False self.ui.files.pressed.connect(self.check) self.ui.sound.pressed.connect(self.voice1) self.ui.actionIncrease_Sound.triggered.connect(self.voice2) self.ui.actionDecrease_Sound.triggered.connect(self.voice3) self.ui.actionSilent_Sound.triggered.connect(self.silent) self.ui.actionLight_Background.setCheckable(True) self.ui.actionDark_Background.setCheckable(True) self.ui.actionLight_Background.setChecked(True) self.ui.actionLight_Background.toggled.connect(self.background2) self.ui.actionDark_Background.toggled.connect(self.background1) self.ui.actionOpen_Folder.triggered.connect(self.open_folder) self.ui.actionhelp.triggered.connect(self.help) self.ui.actionabout.triggered.connect(self.about) #self.ui.files.toggled.connect(self.toggle_viewer) self.ui.listView.doubleClicked.connect(self.plays) self.ui.listView.setWindowIcon(QIcon(r"C:\Users\Yash\PycharmProjects\ppppp\App-Media-icon.png")) self.ui.comboBox.currentTextChanged.connect(self.change) self.ui.lineEdit.textEdited.connect(self.text_folder) #self.viewer.state.connect(self.ui.files.setChecked) self.ui.horizontalSlider.setFocusPolicy(Qt.StrongFocus) self.ui.horizontalSlider.setSingleStep(2) self.ui.horizontalSlider.setPageStep(2) play=QAction(self) play.setShortcut("Space") play.triggered.connect(self.plays) self.addAction(play) self.player.durationChanged.connect(self.update_duration) self.player.positionChanged.connect(self.update_position) self.list=[] self.timer=QTimer(self) self.timer.timeout.connect(self.time) self.timer.start(1000) self.model = PlaylistModel(self.playlist) self.ui.listView.setModel(self.model) self.playlist.currentIndexChanged.connect(self.playlist_position_changed) selection_model = self.ui.listView.selectionModel() selection_model.selectionChanged.connect(self.playlist_selection_changed) try: path=sys.argv[1] self.playlist.addMedia( QMediaContent(QUrl.fromLocalFile(path)) ) self.model.layoutChanged.emit() # If not playing, seeking to first of newly added + play. self.list.append(path) self.plays() except: pass right_arrow=QAction(self) right_arrow.setShortcut("Right") self.addAction(right_arrow) right_arrow.triggered.connect(self.forward) super_right=QAction(self) super_right.setShortcut("Ctrl+Right") self.addAction(super_right) super_right.triggered.connect(self.forwards) left_arrow=QAction(self) left_arrow.setShortcut("Left") self.addAction(left_arrow) left_arrow.triggered.connect(self.backward) super_left=QAction(self) super_left.setShortcut("Ctrl+Left") self.addAction(super_left) super_left.triggered.connect(self.backwards) self.ui.actionOpen_File.triggered.connect(self.open_file) self.setAcceptDrops(True) self.show() def help(self): QMessageBox.information(self, "Help", "This is your video player using Python") def about(self): QMessageBox.information(self, "About", "This is the video player made by Yash Rajput") def backwards(self): temp=self.player.position()-60000 if temp>0: self.player.setPosition(temp) self.update_position(temp) else: temp=0 self.player.setPosition(temp) self.update_position(temp) def forwards(self): temp=self.player.position()+60000 if temp<self.player.duration(): self.player.setPosition(temp) self.update_position(temp) else: self.playlist.next() def backward(self): temp=self.player.position()-30000 if temp>0: self.player.setPosition(temp) self.update_position(temp) else: temp=0 self.player.setPosition(temp) self.update_position(temp) def forward(self): temp=self.player.position()+30000 if temp<self.player.duration(): self.player.setPosition(temp) self.update_position(temp) else: self.playlist.next() def dropEvent(self, e): for url in e.mimeData().urls(): self.playlist.addMedia( QMediaContent(url) ) self.model.layoutChanged.emit() # If not playing, seeking to first of newly added + play. if self.player.state() != QMediaPlayer.PlayingState: i = self.playlist.mediaCount() - len(e.mimeData().urls()) self.playlist.setCurrentIndex(i) self.player.play() def dragEnterEvent(self, e): for url in e.mimeData().urls(): self.playlist.addMedia( QMediaContent(url) ) self.model.layoutChanged.emit() # If not playing, seeking to first of newly added + play. if self.player.state() != QMediaPlayer.PlayingState: i = self.playlist.mediaCount() - len(e.mimeData().urls()) self.playlist.setCurrentIndex(i) self.player.play() def volume(self): self.player.setPlaybackRate(self.ui.horizontalSlider_3.value()) def time(self): time = QTime.currentTime() text = time.toString("hh:mm:ss") self.ui.lcdNumber.setNumDigits(8) self.ui.lcdNumber.display(text) self.ui.lcdNumber.setFrameShadow(QFrame.Sunken) self.ui.lcdNumber.setFrameShape(QFrame.Panel) def check(self): if self.working==False: self.ui.widget.hide() self.videoWidget.setGeometry(0,21,self.ui.widget.geometry().width(),self.ui.widget.geometry().height()) self.working=True else: self.videoWidget.setGeometry(0,self.ui.widget.height()-90,151,111) self.working=False self.ui.widget.show() def resizeEvent(self, event): self.ui.widget.setGeometry(self.geometry().x()-self.geometry().getCoords()[0],self.geometry().y()-self.geometry().getCoords()[1],self.geometry().width(),self.geometry().height()-161) self.ui.listView.setGeometry(150,0,self.ui.widget.geometry().width()-152,self.ui.widget.height()) self.ui.widget_2.setGeometry(0,self.ui.widget.geometry().height()+9,self.geometry().width(),30) self.ui.horizontalSlider.setGeometry(50,0,self.ui.widget_2.width()-102,self.ui.widget_2.height()) self.ui.label_2.setGeometry(49+self.ui.horizontalSlider.geometry().width(),0,51,31) self.ui.widget_3.setGeometry(0,self.ui.widget_2.geometry().y()+40,self.geometry().width(),30) self.ui.sound.setGeometry(self.ui.widget_3.geometry().width()-153,0,28,24) self.ui.horizontalSlider_2.setGeometry(self.ui.widget_3.geometry().width()-113,0,108,31) self.ui.widget_4.setGeometry(0,self.ui.widget_3.geometry().y()+40,self.geometry().width(),30) self.ui.label_5.setGeometry(0,0,self.ui.widget_4.geometry().width()-102,21) self.ui.label_14.setGeometry(self.ui.widget_4.geometry().width()-91,0,91,21) if self.working==False: self.videoWidget.setGeometry(0,self.ui.widget.height()-90,151,111) else: self.videoWidget.setGeometry(0, 21, self.ui.widget.geometry().width(), self.ui.widget.geometry().height()) def text_folder(self): temp=self.list self.playlist.clear() if self.ui.lineEdit.text()!='': for i in temp: import re if re.search(self.ui.lineEdit.text(),i): self.playlist.addMedia( QMediaContent( QUrl.fromLocalFile(i) ) ) else: for i in temp: self.playlist.addMedia( QMediaContent( QUrl.fromLocalFile(i) ) ) self.model.layoutChanged.emit() def change(self): if self.ui.comboBox.currentText()=="View Mode": self.ui.listView.setViewMode(QListView.IconMode) else: self.ui.listView.setViewMode(QListView.ListMode) def stop(self): self.player.stop() self.ui.play.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Pause-icon.png')) self.current = True def background1(self): if self.ui.actionDark_Background.isChecked()==True: self.ui.actionLight_Background.setChecked(False) app.setApplicationName("Failamp") palette = QPalette() palette.setColor(QPalette.Window, QColor(53, 53, 53)) palette.setColor(QPalette.WindowText, Qt.white) palette.setColor(QPalette.Base, QColor(25, 25, 25)) palette.setColor(QPalette.AlternateBase, QColor(53, 53, 53)) palette.setColor(QPalette.ToolTipBase, Qt.white) palette.setColor(QPalette.ToolTipText, Qt.white) palette.setColor(QPalette.Text, Qt.white) palette.setColor(QPalette.Button, QColor(53, 53, 53)) palette.setColor(QPalette.ButtonText, Qt.white) palette.setColor(QPalette.BrightText, Qt.red) palette.setColor(QPalette.Link, QColor(42, 130, 218)) palette.setColor(QPalette.Highlight, QColor(42, 130, 218)) palette.setColor(QPalette.HighlightedText, Qt.black) app.setPalette(palette) def background2(self): if self.ui.actionLight_Background.isChecked()==True: self.ui.actionDark_Background.setChecked(False) palette = QPalette() palette.setColor(QPalette.Window, Qt.white) palette.setColor(QPalette.WindowText, Qt.black) palette.setColor(QPalette.Base, Qt.white) palette.setColor(QPalette.AlternateBase, QColor(246,246,246)) palette.setColor(QPalette.ToolTipBase, QColor(255,255,220)) palette.setColor(QPalette.ToolTipText, Qt.black) palette.setColor(QPalette.Text, Qt.black) palette.setColor(QPalette.Button, QColor(240,240,240)) palette.setColor(QPalette.ButtonText, Qt.black) palette.setColor(QPalette.BrightText, Qt.white) palette.setColor(QPalette.Link, Qt.blue) palette.setColor(QPalette.Highlight, Qt.darkBlue) palette.setColor(QPalette.HighlightedText, Qt.white) app.setPalette(palette) def open_folder(self): dir_ = QFileDialog.getExistingDirectory(None, 'Select a folder:', 'C:\\', QFileDialog.ShowDirsOnly) for (dirpath, dirnames, filenames) in os.walk(dir_): for tfile in filenames : if tfile.endswith(".264") or tfile.endswith(".3ga") or tfile.endswith(".3gp") or tfile.endswith(".aac") or tfile.endswith(".avi") or tfile.endswith(".cda") or tfile.endswith(".dash") or tfile.endswith(".dvr") or tfile.endswith(".flac") or tfile.endswith(".ifo") or tfile.endswith(".m2t") or tfile.endswith(".m2ts") or tfile.endswith(".m3u8") or tfile.endswith(".m4v") or tfile.endswith(".mkv") or tfile.endswith(".mov") or tfile.endswith(".mp3") or tfile.endswith(".mp4") or tfile.endswith(".mpg") or tfile.endswith(".mts") or tfile.endswith(".ogg") or tfile.endswith(".ogu") or tfile.endswith(".opus") or tfile.endswith(".pls") or tfile.endswith(".rec") or tfile.endswith(".rmvb") or tfile.endswith(".snd") or tfile.endswith(".sub") or tfile.endswith(".ts") or tfile.endswith(".vob") or tfile.endswith(".webm") or tfile.endswith(".wma") or tfile.endswith(".wmv") or tfile.endswith(".zab"): if (dirpath + "/" + tfile) not in self.list: self.playlist.addMedia( QMediaContent( QUrl.fromLocalFile(dirpath + "/" + tfile) ) ) self.list.append(dirpath + "/" + tfile) self.model.layoutChanged.emit() def erroralert(self, *args): pass def playlist_selection_changed(self, ix): # We receive a QItemSelection from selectionChanged. i = ix.indexes()[0].row() self.playlist.setCurrentIndex(i) self.ui.label_5.setText(os.path.basename(self.list[i])) def playlist_position_changed(self, i): if i > -1: ix = self.model.index(i) self.ui.listView.setCurrentIndex(ix) def open_file(self): path, _ = QFileDialog.getOpenFileName(self, "Open file", "", "vedio files(*.264;*.3ga;*.3gp;*.aac;*.avi;*.cda;*.dash;*.dvr;*flac;*.ifo;*.m2t;*.m2ts;*.m3u8;*.m4v;*.mkv;*.mov;*.mp3;*.mp4;*.mpg;*.mts;*.ogg;*.ogu;*.opus;*.pls;*.rec;*.rmvb;*.snd;*.sub;*.ts;*.vob;*.webm;*.wma;*.wmv;*.zab") if path and path not in self.list: self.playlist.addMedia( QMediaContent( QUrl.fromLocalFile(path) ) ) self.list.append(path) self.model.layoutChanged.emit() self.plays() def update_duration(self, duration): self.ui.horizontalSlider.setMaximum(duration) if duration >= 0: self.ui.label_2.setText(self.hhmmss(duration)) self.time=self.hhmmss(duration) def update_position(self, position): if position >= 0: self.ui.label_14.setText(str(self.hhmmss(position))+"/"+str(self.time)) self.ui.label_3.setText(self.hhmmss(position)) # Disable the events to prevent updating triggering a setPosition event (can cause stuttering). self.ui.horizontalSlider.blockSignals(True) self.ui.horizontalSlider.setValue(position) self.ui.horizontalSlider.blockSignals(False) def hhmmss(self,ms): # s = 1000 # m = 60000 # h = 360000 h, r = divmod(ms,3600000) m, r = divmod(r,60000) s, _ = divmod(r,1000) return ("%d:%02d:%02d" % (h, m, s)) if h else ("%d:%02d" % (m, s)) def plays(self): if self.current==False: self.player.play() self.ui.play.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Pause-icon.png')) self.current=True else: self.player.pause() self.ui.play.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Button-Play-icon.png')) self.current=False self.videoWidget.setGeometry(0, 21, self.ui.widget.geometry().width(), self.ui.widget.geometry().height()) self.working = True def voice(self): self.player.setVolume(self.ui.horizontalSlider_2.value()) if self.ui.horizontalSlider_2.value()==0: self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Status-audio-volume-muted-icon.png')) else: self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\62788-speaker-low-volume-icon.png')) def voice1(self): if self.ui.horizontalSlider_2.value()>0: self.ui.horizontalSlider_2.setValue(0) self.player.setVolume(self.ui.horizontalSlider_2.value()) self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Status-audio-volume-muted-icon.png')) else: self.ui.horizontalSlider_2.setValue(30) self.player.setVolume(self.ui.horizontalSlider_2.value()) self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\62788-speaker-low-volume-icon.png')) def voice2(self): if self.player.volume()<100: self.player.setVolume(self.player.volume()+1) self.ui.sound.setIcon( QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\62788-speaker-low-volume-icon.png')) self.ui.horizontalSlider_2.setValue(self.player.volume()) def voice3(self): if self.player.volume()>-1: self.player.setVolume(self.player.volume()-1) if self.player.volume()==0: self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\Status-audio-volume-muted-icon.png')) self.ui.horizontalSlider_2.setValue(self.player.volume()) def silent(self): self.player.setVolume(0) self.ui.sound.setIcon(QIcon(r'C:\Users\Yash\PycharmProjects\ppppp\images\62788-speaker-low-volume-icon.png'))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(706, 493) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/plugins/Video_UAV_Tracker/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) Form.setWindowIcon(icon) self.verticalLayout_3 = QtWidgets.QVBoxLayout(Form) self.verticalLayout_3.setObjectName("verticalLayout_3") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.pushButton_3 = QtWidgets.QPushButton(Form) font = QtGui.QFont() font.setKerning(True) self.pushButton_3.setFont(font) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/VgisIcon/Hand-icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.pushButton_3.setIcon(icon1) self.pushButton_3.setAutoExclusive(False) self.pushButton_3.setAutoDefault(False) self.pushButton_3.setDefault(False) self.pushButton_3.setFlat(False) self.pushButton_3.setObjectName("pushButton_3") self.horizontalLayout.addWidget(self.pushButton_3) self.toolButton_6 = QtWidgets.QToolButton(Form) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/plugins/Video_UAV_Tracker/iconNewTabEditorConsole.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_6.setIcon(icon2) self.toolButton_6.setObjectName("toolButton_6") self.horizontalLayout.addWidget(self.toolButton_6) spacerItem = QtWidgets.QSpacerItem(23, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.toolButton_4 = QtWidgets.QToolButton(Form) self.toolButton_4.setStyleSheet("background: url(/mnt/574916AB2EEEC400/LAVORO/Sviluppo_VUT_StandAlone/Progetto_VUT/115757-magic-marker-icon-people-things-hand22-sc48.png)") self.toolButton_4.setObjectName("toolButton_4") self.horizontalLayout.addWidget(self.toolButton_4) self.toolButton_5 = QtWidgets.QToolButton(Form) self.toolButton_5.setObjectName("toolButton_5") self.horizontalLayout.addWidget(self.toolButton_5) self.verticalLayout_3.addLayout(self.horizontalLayout) self.dockWidget_2 = QtWidgets.QDockWidget(Form) self.dockWidget_2.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures) self.dockWidget_2.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea|QtCore.Qt.RightDockWidgetArea) self.dockWidget_2.setObjectName("dockWidget_2") self.dockWidgetContents_7 = QtWidgets.QWidget() self.dockWidgetContents_7.setObjectName("dockWidgetContents_7") self.gridLayout_2 = QtWidgets.QGridLayout(self.dockWidgetContents_7) self.gridLayout_2.setObjectName("gridLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.video_frame = QVideoWidget(Form) p = self.video_frame.palette() p.setColor(QtGui.QPalette.Window, QtCore.Qt.black) self.video_frame.setPalette(p) self.video_frame.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.video_frame.sizePolicy().hasHeightForWidth()) self.video_frame.setSizePolicy(sizePolicy) self.video_frame.setMinimumSize(QtCore.QSize(200, 200)) self.video_frame.setStyleSheet("background-color: rgb(0, 0, 0);") self.video_frame.setObjectName("video_frame") self.verticalLayout.addWidget(self.video_frame) self.horizontalSlider = QtWidgets.QSlider(self.dockWidgetContents_7) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.verticalLayout.addWidget(self.horizontalSlider) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(98, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.toolButton_11 = QtWidgets.QToolButton(self.dockWidgetContents_7) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowLeft.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.toolButton_11.setIcon(icon3) self.toolButton_11.setObjectName("toolButton_11") self.horizontalLayout_3.addWidget(self.toolButton_11) self.SkipBacktoolButton_8 = QtWidgets.QToolButton(self.dockWidgetContents_7) self.SkipBacktoolButton_8.setStyleSheet("") icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasPrev.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.SkipBacktoolButton_8.setIcon(icon4) self.SkipBacktoolButton_8.setObjectName("SkipBacktoolButton_8") self.horizontalLayout_3.addWidget(self.SkipBacktoolButton_8) self.playButton = QtWidgets.QToolButton(self.dockWidgetContents_7) self.playButton.setObjectName("playButton") self.horizontalLayout_3.addWidget(self.playButton) self.muteButton = QtWidgets.QToolButton(self.dockWidgetContents_7) self.muteButton.setText("") self.muteButton.setObjectName("muteButton") self.horizontalLayout_3.addWidget(self.muteButton) self.replayPosition_label = QtWidgets.QLabel(self.dockWidgetContents_7) self.replayPosition_label.setObjectName("replayPosition_label") self.horizontalLayout_3.addWidget(self.replayPosition_label) self.SkipFortoolButton_9 = QtWidgets.QToolButton(self.dockWidgetContents_7) self.SkipFortoolButton_9.setStyleSheet("") icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasNext.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.SkipFortoolButton_9.setIcon(icon5) self.SkipFortoolButton_9.setObjectName("SkipFortoolButton_9") self.horizontalLayout_3.addWidget(self.SkipFortoolButton_9) self.toolButton_12 = QtWidgets.QToolButton(self.dockWidgetContents_7) icon6 = QtGui.QIcon() icon6.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowRight.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.toolButton_12.setIcon(icon6) self.toolButton_12.setObjectName("toolButton_12") self.horizontalLayout_3.addWidget(self.toolButton_12) spacerItem2 = QtWidgets.QSpacerItem(98, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.verticalLayout.addLayout(self.horizontalLayout_3) self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1) self.dockWidget_2.setWidget(self.dockWidgetContents_7) self.verticalLayout_3.addWidget(self.dockWidget_2) self.dockWidget_4 = QtWidgets.QDockWidget(Form) self.dockWidget_4.setMaximumSize(QtCore.QSize(524287, 121)) self.dockWidget_4.setFeatures(QtWidgets.QDockWidget.NoDockWidgetFeatures) self.dockWidget_4.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea) self.dockWidget_4.setObjectName("dockWidget_4") self.dockWidgetContents_6 = QtWidgets.QWidget() self.dockWidgetContents_6.setObjectName("dockWidgetContents_6") self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.dockWidgetContents_6) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label = QtWidgets.QLabel(self.dockWidgetContents_6) self.label.setObjectName("label") self.verticalLayout_2.addWidget(self.label) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetFixedSize) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.pushButtonCutA_6 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButtonCutA_6.setEnabled(True) self.pushButtonCutA_6.setObjectName("pushButtonCutA_6") self.horizontalLayout_2.addWidget(self.pushButtonCutA_6) self.pushButtonCutB_6 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButtonCutB_6.setObjectName("pushButtonCutB_6") self.horizontalLayout_2.addWidget(self.pushButtonCutB_6) self.label_7 = QtWidgets.QLabel(self.dockWidgetContents_6) self.label_7.setObjectName("label_7") self.horizontalLayout_2.addWidget(self.label_7) self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox(self.dockWidgetContents_6) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.horizontalLayout_2.addWidget(self.doubleSpinBox_2) self.comboBox_6 = QtWidgets.QComboBox(self.dockWidgetContents_6) self.comboBox_6.setObjectName("comboBox_6") self.comboBox_6.addItem("") self.comboBox_6.addItem("") self.horizontalLayout_2.addWidget(self.comboBox_6) self.pushButton_5 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButton_5.setObjectName("pushButton_5") self.horizontalLayout_2.addWidget(self.pushButton_5) self.pushButtonCut_2 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButtonCut_2.setObjectName("pushButtonCut_2") self.horizontalLayout_2.addWidget(self.pushButtonCut_2) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.progressBar = QtWidgets.QProgressBar(self.dockWidgetContents_6) self.progressBar.setProperty("value", 24) self.progressBar.setObjectName("progressBar") self.verticalLayout_2.addWidget(self.progressBar) self.dockWidget_4.setWidget(self.dockWidgetContents_6) self.verticalLayout_3.addWidget(self.dockWidget_4) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Video UAV Tracker - Player")) self.pushButton_3.setToolTip(_translate("Form", "<html><head/><body><p>Move along Video directly clicking on gps track</p></body></html>")) self.pushButton_3.setText(_translate("Form", "MapTool ")) self.toolButton_6.setToolTip(_translate("Form", "<html><head/><body><p>Add point</p></body></html>")) self.toolButton_6.setText(_translate("Form", "o")) self.toolButton_4.setToolTip(_translate("Form", "<html><head/><body><p>Enable extract frames toolbox</p><p><br/></p></body></html>")) self.toolButton_4.setText(_translate("Form", "Extract frames")) self.toolButton_5.setText(_translate("Form", "Close")) self.toolButton_11.setText(_translate("Form", "<<")) self.SkipBacktoolButton_8.setText(_translate("Form", "<")) self.playButton.setText(_translate("Form", "> / ||")) self.replayPosition_label.setText(_translate("Form", "-:- / -:-")) self.SkipFortoolButton_9.setText(_translate("Form", ">")) self.toolButton_12.setText(_translate("Form", ">>")) self.label.setText(_translate("Form", "Export Frames Tool")) self.pushButtonCutA_6.setToolTip(_translate("Form", "<html><head/><body><p>Export from actual Video Frame</p></body></html>")) self.pushButtonCutA_6.setText(_translate("Form", "From A")) self.pushButtonCutB_6.setToolTip(_translate("Form", "<html><head/><body><p>Export to actual Video Frame</p></body></html>")) self.pushButtonCutB_6.setText(_translate("Form", "To B")) self.label_7.setText(_translate("Form", "Pick one frame every")) self.comboBox_6.setItemText(0, _translate("Form", "meters")) self.comboBox_6.setItemText(1, _translate("Form", "seconds")) self.pushButton_5.setText(_translate("Form", "Cancel")) self.pushButtonCut_2.setText(_translate("Form", "Extract!"))
class Ui_NewProject(object): def setupUi(self, NewProject): NewProject.setObjectName("NewProject") NewProject.resize(736, 625) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/plugins/VideoGis/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) NewProject.setWindowIcon(icon) self.gridLayout_2 = QtWidgets.QGridLayout(NewProject) self.gridLayout_2.setObjectName("gridLayout_2") self.gridLayout = QtWidgets.QGridLayout() self.gridLayout.setObjectName("gridLayout") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.video_frame_2 = QVideoWidget(NewProject) p = self.video_frame_2.palette() p.setColor(QtGui.QPalette.Window, QtCore.Qt.black) self.video_frame_2.setPalette(p) self.video_frame_2.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.video_frame_2.sizePolicy().hasHeightForWidth()) self.video_frame_2.setSizePolicy(sizePolicy) self.video_frame_2.setStyleSheet("background-color: rgb(0, 0, 0);") self.video_frame_2.setObjectName("video_frame_2") self.horizontalLayout.addWidget(self.video_frame_2) self.gridLayout.addLayout(self.horizontalLayout, 0, 0, 1, 16) self.horizontalSlider = QtWidgets.QSlider(NewProject) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.gridLayout.addWidget(self.horizontalSlider, 1, 0, 1, 16) self.replayPlay_pushButton = QtWidgets.QPushButton(NewProject) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.replayPlay_pushButton.sizePolicy().hasHeightForWidth()) self.replayPlay_pushButton.setSizePolicy(sizePolicy) self.replayPlay_pushButton.setCheckable(False) self.replayPlay_pushButton.setChecked(False) self.replayPlay_pushButton.setObjectName("replayPlay_pushButton") self.gridLayout.addWidget(self.replayPlay_pushButton, 3, 1, 1, 1) self.replayPosition_label = QtWidgets.QLabel(NewProject) self.replayPosition_label.setObjectName("replayPosition_label") self.gridLayout.addWidget(self.replayPosition_label, 3, 4, 1, 1) self.muteButton = QtWidgets.QToolButton(NewProject) self.muteButton.setText("") self.muteButton.setObjectName("muteButton") self.gridLayout.addWidget(self.muteButton, 3, 2, 1, 1) self.comboBox = QtWidgets.QComboBox(NewProject) self.comboBox.setObjectName("comboBox") self.gridLayout.addWidget(self.comboBox, 3, 15, 1, 1) self.pushButton_2 = QtWidgets.QPushButton(NewProject) self.pushButton_2.setObjectName("pushButton_2") self.gridLayout.addWidget(self.pushButton_2, 3, 13, 1, 1) self.toolButton_3 = QtWidgets.QToolButton(NewProject) icon1 = QtGui.QIcon() icon1.addPixmap( QtGui.QPixmap(":/plugins/VideoGis/mIconFormSelect.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_3.setIcon(icon1) self.toolButton_3.setObjectName("toolButton_3") self.gridLayout.addWidget(self.toolButton_3, 3, 11, 1, 1) self.toolButton_2 = QtWidgets.QToolButton(NewProject) icon2 = QtGui.QIcon() icon2.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasNext.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_2.setIcon(icon2) self.toolButton_2.setObjectName("toolButton_2") self.gridLayout.addWidget(self.toolButton_2, 3, 9, 1, 1) self.SkipFortoolButton_8 = QtWidgets.QToolButton(NewProject) self.SkipFortoolButton_8.setStyleSheet("") icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowRight.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.SkipFortoolButton_8.setIcon(icon3) self.SkipFortoolButton_8.setObjectName("SkipFortoolButton_8") self.gridLayout.addWidget(self.SkipFortoolButton_8, 3, 8, 1, 1) self.SkipBacktoolButton_7 = QtWidgets.QToolButton(NewProject) self.SkipBacktoolButton_7.setStyleSheet("") icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowLeft.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.SkipBacktoolButton_7.setIcon(icon4) self.SkipBacktoolButton_7.setObjectName("SkipBacktoolButton_7") self.gridLayout.addWidget(self.SkipBacktoolButton_7, 3, 7, 1, 1) self.toolButton = QtWidgets.QToolButton(NewProject) icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasPrev.svg"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton.setIcon(icon5) self.toolButton.setObjectName("toolButton") self.gridLayout.addWidget(self.toolButton, 3, 6, 1, 1) self.pushButton = QtWidgets.QPushButton(NewProject) self.pushButton.setObjectName("pushButton") self.gridLayout.addWidget(self.pushButton, 3, 0, 1, 1) self.toolButton_4 = QtWidgets.QToolButton(NewProject) self.toolButton_4.setObjectName("toolButton_4") self.gridLayout.addWidget(self.toolButton_4, 3, 12, 1, 1) self.checkBox = QtWidgets.QCheckBox(NewProject) self.checkBox.setObjectName("checkBox") self.gridLayout.addWidget(self.checkBox, 3, 14, 1, 1) self.gridLayout_2.addLayout(self.gridLayout, 0, 0, 1, 1) self.retranslateUi(NewProject) QtCore.QMetaObject.connectSlotsByName(NewProject) def retranslateUi(self, NewProject): _translate = QtCore.QCoreApplication.translate NewProject.setWindowTitle( _translate("NewProject", "Video UAV Tracker - New Project")) self.replayPlay_pushButton.setText( _translate("NewProject", "Play/Pause")) self.replayPosition_label.setText(_translate("NewProject", "-:- / -:-")) self.pushButton_2.setToolTip( _translate( "NewProject", "<html><head/><body><p>Synchronize actual video frame with selected GPS time</p></body></html>" )) self.comboBox.setToolTip( _translate("NewProject", "<html><head/><body><p> GPS time</p></body></html>")) self.pushButton_2.setText(_translate("NewProject", "Synchronize!")) self.toolButton_3.setToolTip( _translate( "NewProject", "<html><head/><body><p>Add point shape database to project</p></body></html>" )) #self.toolButton_3.setText(_translate("NewProject", "DB")) self.toolButton_2.setToolTip( _translate("NewProject", "<html><head/><body><p>Next second</p></body></html>")) self.toolButton_2.setText(_translate("NewProject", ">>")) self.SkipFortoolButton_8.setToolTip( _translate("NewProject", "<html><head/><body><p>Next frame</p></body></html>")) self.SkipFortoolButton_8.setText(_translate("NewProject", ">")) self.SkipBacktoolButton_7.setToolTip( _translate( "NewProject", "<html><head/><body><p>Previous frame</p></body></html>")) self.SkipBacktoolButton_7.setText(_translate("NewProject", "<")) self.toolButton.setToolTip( _translate( "NewProject", "<html><head/><body><p>Previous second</p></body></html>")) self.toolButton.setText(_translate("NewProject", "<<")) self.pushButton.setToolTip( _translate( "NewProject", "<html><head/><body><p>Select video and relative gpx</p></body></html>" )) self.pushButton.setText( _translate("NewProject", "Select Video and GPX")) self.toolButton_4.setText(_translate("NewProject", "3D")) self.checkBox.setToolTip( _translate( "NewProject", "<html><head/><body><p>Activate Pixel value conversion and display (see README)</p></body></html>" ))
def __init__(self, parent=None): super(VideoWindow, self).__init__(parent) self.setWindowTitle("Barulhômetro") self.videos = { 'leve': os.path.abspath("recursos/leve.mp4"), 'medio': os.path.abspath("recursos/medio.mp4"), 'forte': os.path.abspath("recursos/forte.mp4"), 'mega': os.path.abspath("recursos/mega.mp4") } self.button1 = Button(2) self.button1.when_pressed = self.clickBtn1 self.button2 = Button(3) self.button2.when_pressed = self.clickBtn2 self.button3 = Button(4) self.button3.when_pressed = self.clickBtn3 self.button4 = Button(5) self.button4.when_pressed = self.clickBtn4 self.signal_btn.connect(self.on_click) self.acabou = False self.setStyleSheet("""QLabel{ margin: 40px; qproperty-alignment: AlignCenter; } .QWidget{ border-image: url(recursos/fotinha.jpeg) 0 0 0 0 stretch stretch; } """) # Cria o player de video self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) video_widget = QVideoWidget() # Create a widget for window contents wid = QWidget(self) self.setCentralWidget(wid) self.layout = QStackedLayout(wid) # Cria o widget das opções self.options_widget = QWidget(self) # Cria imagem de fundo self.options_widget.setStyleSheet( ".QWidget{border-image: url(recursos/fotinha.jpeg) 0 0 0 0 stretch stretch;}" ) # Cria o layout do widget das opções layout_widgets = QVBoxLayout(self.options_widget) self.titulo = QLabel("Barulhômetro") self.titulo.setStyleSheet("font-size:48px;") leve = QLabel("Aqui entra descrição rápida do terremoto leve") medio = QLabel("Aqui entra descrição rápida do terremoto medio") pesado = QLabel("Aqui entra descrição rápida do terremoto pesado") mega = QLabel("Aqui entra descrição rápida do terremoto mega") video = QPushButton("Vídeo") video.clicked.connect(self.openFile) layout_widgets.setAlignment(Qt.AlignCenter) layout_widgets.addWidget(self.titulo) layout_widgets.addWidget(leve) layout_widgets.addWidget(medio) layout_widgets.addWidget(pesado) layout_widgets.addWidget(mega) layout_widgets.addWidget(video) self.layout.addWidget(video_widget) self.layout.addWidget(self.options_widget) video_widget.setStyleSheet("background:rgba(0,0,0,0)") self.layout.setCurrentIndex(1) self.mediaPlayer.setVideoOutput(video_widget) self.mediaPlayer.error.connect(self.handleError)
class MainWindow(QMainWindow): directory_path = "" video_paths = [] video_infos = [] main_width = 1500 main_height = 800 key_frame_dir = "" def __init__(self): super().__init__() self.tabs = [] self.tab_names = [] self.__initUI() def __initUI(self): # Create a widget for window contents self.central_widget = QWidget(self) self.setCentralWidget(self.central_widget) # Create new action open_action = QAction(QIcon('open.png'), '&Open', self) open_action.setShortcut('Ctrl+O') open_action.setStatusTip('Open movie') open_action.triggered.connect(self.__openDownloadDirectory) # Create exit action exit_action = QAction(QIcon('exit.png'), '&Exit', self) exit_action.setShortcut('Ctrl+Q') exit_action.setStatusTip('Exit application') exit_action.triggered.connect(self.close) # Create menu bar and add action menu_bar = self.menuBar() menu = menu_bar.addMenu('&메뉴') menu.addAction(open_action) menu.addAction(exit_action) self.statusBar() self.setFrameViewWidget() self.setVideoWidget() self.setVideoControlWidget() self.setTabWidget() self.setMainLayout() # Set widget to contain window contents self.central_widget.setLayout(self.main_layout) self.setGeometry(300, 300, self.main_width, self.main_height) self.setWindowTitle('Video Previewer') self.show() def setFrameViewWidget(self): self.frame = QLabel(self) self.frame.setFrameShape(QFrame.Panel) self.frame.setFixedHeight(self.main_height / 2) self.frame.setFixedWidth(self.main_width / 3) self.frame.setStyleSheet("background: white; border:1px solid gray;") self.frame.setAlignment(Qt.AlignCenter) def setVideoWidget(self): self.videoWidget = QVideoWidget() self.videoWidget.setStyleSheet("background: white; border:1px solid rgb(0, 0, 0);") self.videoWidget.setFixedWidth(self.main_width / 3) self.videoWidget.setFixedHeight(self.main_height / 2) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.mediaPlayer.setVideoOutput(self.videoWidget) self.mediaPlayer.stateChanged.connect(self.mediaStateChanged) self.mediaPlayer.positionChanged.connect(self.positionChanged) self.mediaPlayer.durationChanged.connect(self.durationChanged) self.mediaPlayer.error.connect(self.handleError) def setVideoControlWidget(self): self.play_button = QPushButton() self.play_button.setEnabled(False) self.play_button.setIcon(self.style().standardIcon(QStyle.SP_MediaPlay)) self.play_button.clicked.connect(self.play) self.play_button.setFixedWidth(50) self.position_slider = QSlider(Qt.Horizontal) self.position_slider.setRange(0, 0) self.position_slider.sliderMoved.connect(self.setPosition) self.position_slider.setFixedWidth(self.main_width / 3 - 55) self.errorLabel = QLabel() self.errorLabel.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) self.controlLayout = QGridLayout() self.controlLayout.setAlignment(Qt.AlignLeft) self.controlLayout.setAlignment(Qt.AlignTop) self.controlLayout.addWidget(self.videoWidget, 0, 0, 1, 2) self.controlLayout.addWidget(self.play_button, 1, 0) self.controlLayout.addWidget(self.position_slider, 1, 1) def setMainLayout(self): self.main_layout = QGridLayout() self.main_layout.setAlignment(Qt.AlignTop) self.main_layout.addLayout(self.controlLayout, 1, 0) self.main_layout.addWidget(self.frame, 2, 0) self.main_layout.addWidget(self.tabWidget, 0, 1, 3, 3) # self.main_layout.addWidget(self.errorLabel) def setVideoTab(self, row_count): column_headers = ['Thumbnail', 'Name', 'Size', 'Created Date', 'Modified Date'] self.tab_videos = QTableWidget() self.tab_videos.resize(290, 290) self.tab_videos.setRowCount(row_count) self.tab_videos.setColumnCount(5) self.tab_videos.setHorizontalHeaderLabels(column_headers) self.tabWidget.addTab(self.tab_videos, "Videos") def setVideoTabItems(self, videos): for video in videos: video_info = os.path.join(self.directory_path, video) self.video_paths.append(video_info) self.video_infos.append([ "", video, "%.2f MB" % (os.path.getsize(video_info) / (1024.0 * 1024.0)), time.ctime(os.path.getctime(video_info)), time.ctime(os.path.getmtime(video_info)) ]) for row, video_infos in enumerate(self.video_infos): for col, video_info in enumerate(video_infos): self.tab_videos.setItem(row, col, QTableWidgetItem(str(video_infos[col]))) self.tab_videos.setEditTriggers(QAbstractItemView.NoEditTriggers) self.tab_videos.cellClicked.connect(self.videoCellClicked) self.tab_videos.cellDoubleClicked.connect(self.videoCellDoubleClicked) header = self.tab_videos.horizontalHeader() for idx in range(len(videos)): header.setSectionResizeMode(idx, QtWidgets.QHeaderView.ResizeToContents) @pyqtSlot(int, int) def videoCellClicked(self, row, col): self.tab_videos.selectRow(row) cell = self.tab_videos.item(row, 1) @pyqtSlot(int, int) def videoCellDoubleClicked(self, row, col): self.openFile(self.video_paths[row]) self.tab_videos.selectRow(row) def setFrameTab(self): self.tab_keyframes = QListWidget() self.tab_keyframes.setViewMode(QListWidget.IconMode) self.tab_keyframes.setIconSize(QSize(225, 225)) self.tab_keyframes.itemDoubleClicked.connect(self.frameCellDoubleClicked) self.tabWidget.addTab(self.tab_keyframes, "Key frames") def frameCellDoubleClicked(self, item=None): self.frame.setStyleSheet("background: black") pixmap = QPixmap(os.path.join(self.key_frame_dir, item.text())) self.frame.setPixmap(pixmap) def setTabWidget(self): self.tabWidget = QTabWidget() def __openDownloadDirectory(self): directory_path = str(QFileDialog.getExistingDirectory(self, "Select Directory")) if directory_path: self.directory_path = directory_path videos = os.listdir(self.directory_path) self.setVideoTab(len(videos)) self.setFrameTab() self.setVideoTabItems(videos) else : print("Info: You didn't select directory. current directory path is \"{}\"".format(self.directory_path)) def openFile(self, fileName): if fileName != '': self.mediaPlayer.setMedia(QMediaContent(QUrl.fromLocalFile(fileName))) self.play_button.setEnabled(True) ffmpeg = FFmpegWrapper() ffmpeg.setOptions(video_path=fileName) if not os.path.isdir(ffmpeg.getOutputDir()): ffmpeg.runFFmpeg() keyframelist_file = ffmpeg.getKeyframesPathFile() detector = darknetDetectorWrapper() detector.setInputPath(input_paths=keyframelist_file) detector.setOutputPath(ffmpeg.getOutputDir()) detector.runDarknetDetector() frame_names = self.readFrames(keyframelist_file) self.tab_keyframes.clear() self.key_frame_dir = frame_names[0].replace(frame_names[0].split("\\")[-1],"") for frame_name in frame_names: item = QListWidgetItem(QIcon(frame_name), frame_name.split("\\")[-1]) self.tab_keyframes.addItem(item) def readFrames(self, keyframelist_file): frame_names = [] with open(keyframelist_file, 'r') as file: for frame in file: frame_names.append(frame.split("\n")[0]) return frame_names def play(self): if self.mediaPlayer.state() == QMediaPlayer.PlayingState: self.mediaPlayer.pause() else: self.mediaPlayer.play() def mediaStateChanged(self, state): if self.mediaPlayer.state() == QMediaPlayer.PlayingState: self.play_button.setIcon( self.style().standardIcon(QStyle.SP_MediaPause)) else: self.play_button.setIcon( self.style().standardIcon(QStyle.SP_MediaPlay)) def positionChanged(self, position): self.position_slider.setValue(position) def durationChanged(self, duration): self.position_slider.setRange(0, duration) def setPosition(self, position): self.mediaPlayer.setPosition(position) def handleError(self): self.play_button.setEnabled(False) self.errorLabel.setText("Error: " + self.mediaPlayer.errorString())
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(706, 493) icon = QtGui.QIcon() icon.addPixmap(QtGui.QPixmap(":/plugins/VideoGis/icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) Form.setWindowIcon(icon) self.verticalLayout_3 = QtWidgets.QVBoxLayout(Form) self.verticalLayout_3.setObjectName("verticalLayout_3") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.pushButton_3 = QtWidgets.QPushButton(Form) font = QtGui.QFont() font.setKerning(True) self.pushButton_3.setFont(font) icon1 = QtGui.QIcon() icon1.addPixmap(QtGui.QPixmap(":/VgisIcon/Hand-icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.pushButton_3.setIcon(icon1) self.pushButton_3.setAutoExclusive(False) self.pushButton_3.setAutoDefault(False) self.pushButton_3.setDefault(False) self.pushButton_3.setFlat(False) self.pushButton_3.setObjectName("pushButton_3") self.horizontalLayout.addWidget(self.pushButton_3) self.toolButton_6 = QtWidgets.QToolButton(Form) icon2 = QtGui.QIcon() icon2.addPixmap( QtGui.QPixmap(":/plugins/VideoGis/iconNewTabEditorConsole.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off) self.toolButton_6.setIcon(icon2) self.toolButton_6.setObjectName("toolButton_6") self.horizontalLayout.addWidget(self.toolButton_6) self.toolButton_7 = QtWidgets.QToolButton(Form) self.toolButton_7.setEnabled(False) self.toolButton_7.setCheckable(True) self.toolButton_7.setObjectName("toolButton_7") self.horizontalLayout.addWidget(self.toolButton_7) self.pushButton = QtWidgets.QPushButton(Form) self.pushButton.setEnabled(False) self.pushButton.setCheckable(True) self.pushButton.setObjectName("pushButton") self.horizontalLayout.addWidget(self.pushButton) self.label_2 = QtWidgets.QLabel(Form) self.label_2.setEnabled(False) self.label_2.setObjectName("label_2") self.horizontalLayout.addWidget(self.label_2) self.spinBox = QtWidgets.QSpinBox(Form) self.spinBox.setEnabled(False) self.spinBox.setMinimum(1) self.spinBox.setSingleStep(10) self.spinBox.setProperty("value", 25) self.spinBox.setObjectName("spinBox") self.horizontalLayout.addWidget(self.spinBox) spacerItem = QtWidgets.QSpacerItem(23, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.toolButton_4 = QtWidgets.QToolButton(Form) self.toolButton_4.setObjectName("toolButton_4") self.horizontalLayout.addWidget(self.toolButton_4) self.toolButton_5 = QtWidgets.QToolButton(Form) self.toolButton_5.setObjectName("toolButton_5") self.horizontalLayout.addWidget(self.toolButton_5) self.verticalLayout_3.addLayout(self.horizontalLayout) self.dockWidget_2 = QtWidgets.QDockWidget(Form) self.dockWidget_2.setFeatures( QtWidgets.QDockWidget.NoDockWidgetFeatures) self.dockWidget_2.setAllowedAreas(QtCore.Qt.LeftDockWidgetArea | QtCore.Qt.RightDockWidgetArea) self.dockWidget_2.setObjectName("dockWidget_2") self.dockWidgetContents_7 = QtWidgets.QWidget() self.dockWidgetContents_7.setObjectName("dockWidgetContents_7") self.gridLayout_2 = QtWidgets.QGridLayout(self.dockWidgetContents_7) self.gridLayout_2.setObjectName("gridLayout_2") self.verticalLayout = QtWidgets.QVBoxLayout() self.verticalLayout.setObjectName("verticalLayout") self.video_frame = QVideoWidget(Form) p = self.video_frame.palette() p.setColor(QtGui.QPalette.Window, QtCore.Qt.black) self.video_frame.setPalette(p) self.video_frame.setAttribute(QtCore.Qt.WA_OpaquePaintEvent) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.video_frame.sizePolicy().hasHeightForWidth()) self.video_frame.setSizePolicy(sizePolicy) self.video_frame.setMinimumSize(QtCore.QSize(200, 200)) self.video_frame.setStyleSheet("background-color: rgb(0, 0, 0);") self.video_frame.setObjectName("video_frame") self.verticalLayout.addWidget(self.video_frame) self.horizontalSlider = QtWidgets.QSlider(self.dockWidgetContents_7) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.verticalLayout.addWidget(self.horizontalSlider) self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") spacerItem1 = QtWidgets.QSpacerItem(98, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem1) self.toolButton_11 = QtWidgets.QToolButton(self.dockWidgetContents_7) icon3 = QtGui.QIcon() icon3.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowLeft.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.toolButton_11.setIcon(icon3) self.toolButton_11.setObjectName("toolButton_11") self.horizontalLayout_3.addWidget(self.toolButton_11) self.SkipBacktoolButton_8 = QtWidgets.QToolButton( self.dockWidgetContents_7) self.SkipBacktoolButton_8.setStyleSheet("") icon4 = QtGui.QIcon() icon4.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasPrev.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.SkipBacktoolButton_8.setIcon(icon4) self.SkipBacktoolButton_8.setObjectName("SkipBacktoolButton_8") self.horizontalLayout_3.addWidget(self.SkipBacktoolButton_8) self.playButton = QtWidgets.QToolButton(self.dockWidgetContents_7) self.playButton.setObjectName("playButton") self.horizontalLayout_3.addWidget(self.playButton) self.muteButton = QtWidgets.QToolButton(self.dockWidgetContents_7) self.muteButton.setText("") self.muteButton.setObjectName("muteButton") self.horizontalLayout_3.addWidget(self.muteButton) self.replayPosition_label = QtWidgets.QLabel(self.dockWidgetContents_7) self.replayPosition_label.setObjectName("replayPosition_label") self.horizontalLayout_3.addWidget(self.replayPosition_label) self.SkipFortoolButton_9 = QtWidgets.QToolButton( self.dockWidgetContents_7) self.SkipFortoolButton_9.setStyleSheet("") icon5 = QtGui.QIcon() icon5.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionAtlasNext.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.SkipFortoolButton_9.setIcon(icon5) self.SkipFortoolButton_9.setObjectName("SkipFortoolButton_9") self.horizontalLayout_3.addWidget(self.SkipFortoolButton_9) self.toolButton_12 = QtWidgets.QToolButton(self.dockWidgetContents_7) icon6 = QtGui.QIcon() icon6.addPixmap(QtGui.QPixmap(":/VgisIcon/mActionArrowRight.svg"), QtGui.QIcon.Normal, QtGui.QIcon.On) self.toolButton_12.setIcon(icon6) self.toolButton_12.setObjectName("toolButton_12") self.horizontalLayout_3.addWidget(self.toolButton_12) spacerItem2 = QtWidgets.QSpacerItem(98, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout_3.addItem(spacerItem2) self.lcdNumber = QtWidgets.QLCDNumber(self.dockWidgetContents_7) self.lcdNumber.setObjectName("lcdNumber") self.horizontalLayout_3.addWidget(self.lcdNumber) self.verticalLayout.addLayout(self.horizontalLayout_3) self.gridLayout_2.addLayout(self.verticalLayout, 0, 0, 1, 1) self.dockWidget_2.setWidget(self.dockWidgetContents_7) self.verticalLayout_3.addWidget(self.dockWidget_2) self.dockWidget_4 = QtWidgets.QDockWidget(Form) self.dockWidget_4.setMaximumSize(QtCore.QSize(524287, 121)) self.dockWidget_4.setFeatures( QtWidgets.QDockWidget.NoDockWidgetFeatures) self.dockWidget_4.setAllowedAreas(QtCore.Qt.BottomDockWidgetArea) self.dockWidget_4.setObjectName("dockWidget_4") self.dockWidgetContents_6 = QtWidgets.QWidget() self.dockWidgetContents_6.setObjectName("dockWidgetContents_6") self.verticalLayout_2 = QtWidgets.QVBoxLayout( self.dockWidgetContents_6) self.verticalLayout_2.setObjectName("verticalLayout_2") self.label = QtWidgets.QLabel(self.dockWidgetContents_6) self.label.setObjectName("label") self.verticalLayout_2.addWidget(self.label) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setSizeConstraint( QtWidgets.QLayout.SetFixedSize) self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.pushButtonCutA_6 = QtWidgets.QPushButton( self.dockWidgetContents_6) self.pushButtonCutA_6.setEnabled(True) self.pushButtonCutA_6.setObjectName("pushButtonCutA_6") self.horizontalLayout_2.addWidget(self.pushButtonCutA_6) self.pushButtonCutB_6 = QtWidgets.QPushButton( self.dockWidgetContents_6) self.pushButtonCutB_6.setObjectName("pushButtonCutB_6") self.horizontalLayout_2.addWidget(self.pushButtonCutB_6) self.label_7 = QtWidgets.QLabel(self.dockWidgetContents_6) self.label_7.setObjectName("label_7") self.horizontalLayout_2.addWidget(self.label_7) self.doubleSpinBox_2 = QtWidgets.QDoubleSpinBox( self.dockWidgetContents_6) self.doubleSpinBox_2.setObjectName("doubleSpinBox_2") self.horizontalLayout_2.addWidget(self.doubleSpinBox_2) self.comboBox_6 = QtWidgets.QComboBox(self.dockWidgetContents_6) self.comboBox_6.setObjectName("comboBox_6") self.comboBox_6.addItem("") self.comboBox_6.addItem("") self.horizontalLayout_2.addWidget(self.comboBox_6) self.pushButton_5 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButton_5.setObjectName("pushButton_5") self.horizontalLayout_2.addWidget(self.pushButton_5) self.pushButtonCut_2 = QtWidgets.QPushButton(self.dockWidgetContents_6) self.pushButtonCut_2.setObjectName("pushButtonCut_2") self.horizontalLayout_2.addWidget(self.pushButtonCut_2) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.progressBar = QtWidgets.QProgressBar(self.dockWidgetContents_6) self.progressBar.setProperty("value", 24) self.progressBar.setObjectName("progressBar") self.verticalLayout_2.addWidget(self.progressBar) self.dockWidget_4.setWidget(self.dockWidgetContents_6) self.verticalLayout_3.addWidget(self.dockWidget_4) self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Video UAV Tracker - Player")) self.pushButton_3.setToolTip( _translate( "Form", "<html><head/><body><p>Move along Video directly clicking on gps track</p></body></html>" )) self.pushButton_3.setText(_translate("Form", "MapTool ")) self.label_2.setText(_translate("Form", "Overlap %")) self.toolButton_6.setToolTip( _translate("Form", "<html><head/><body><p>Add point</p></body></html>")) self.toolButton_6.setText(_translate("Form", "o")) self.toolButton_4.setToolTip( _translate( "Form", "<html><head/><body><p>Enable extract frames toolbox</p><p><br/></p></body></html>" )) self.toolButton_4.setText(_translate("Form", "Extract frames")) self.toolButton_5.setText(_translate("Form", "Close")) self.toolButton_11.setText(_translate("Form", "<<")) self.SkipBacktoolButton_8.setText(_translate("Form", "<")) self.playButton.setText(_translate("Form", "> / ||")) self.replayPosition_label.setText(_translate("Form", "-:- / -:-")) self.SkipFortoolButton_9.setText(_translate("Form", ">")) self.toolButton_12.setText(_translate("Form", ">>")) self.label.setText(_translate("Form", "Export Frames Tool")) self.pushButtonCutA_6.setToolTip( _translate( "Form", "<html><head/><body><p>Export from actual Video Frame</p></body></html>" )) self.pushButtonCutA_6.setText(_translate("Form", "From A")) self.pushButtonCutB_6.setToolTip( _translate( "Form", "<html><head/><body><p>Export to actual Video Frame</p></body></html>" )) self.pushButtonCutB_6.setText(_translate("Form", "To B")) self.label_7.setText(_translate("Form", "Pick one frame every")) self.comboBox_6.setItemText(0, _translate("Form", "meters")) self.comboBox_6.setItemText(1, _translate("Form", "seconds")) self.pushButton_5.setText(_translate("Form", "Cancel")) self.pushButtonCut_2.setText(_translate("Form", "Extract!")) self.toolButton_7.setText(_translate("Form", "3D")) self.pushButton.setText(_translate("Form", "Create Mosaic"))