def __init__(self, parent=None): super(MainHome, self).__init__(parent) self.resize(1280, 720) self.setWindowTitle("智能家居系统") window_pale = QPalette() tu = QPixmap("./images/bgall.png").scaled(self.width(), self.height()) window_pale.setBrush(self.backgroundRole(), QBrush(tu)) # 设置背景图片 self.setPalette(window_pale) player = QMediaPlayer(self) vw = QVideoWidget(self) vw.setGeometry(10, 50, 320, 240) player.setVideoOutput(vw) file = QUrl.fromLocalFile( "images/1280x720.mp4") #QFileDialog.getOpenFileUrl()[0] player.setMedia(QMediaContent(file)) # 选取视频文件 player.play() # 播放视频 self.kt = QPushButton(self) self.kt.setGeometry(10, 550, 200, 30) self.kt.setStyleSheet( "QPushButton{border-image: url(images/ketingbt.png)}") self.zw = QPushButton(self) self.zw.setGeometry(400, 550, 200, 30) self.zw.setStyleSheet( "QPushButton{border-image: url(images/zhuwobt.png)}") self.flg = QLabel(self) self.flg.setGeometry(700, 550, 200, 30) self.flg.setText("只是测")
class MainWindow(QWidget): def __init__(self, rect, controller): QWidget.__init__(self) self.controller = controller self.setGeometry(rect) self.setWindowTitle("Reframomat") self.welcomeMsg = QLabel(self) self.welcomeMsg.setText("Willkommen beim Reframomat!\nDrücke den Buzzer, um loszulegen!") self.welcomeMsg.setAlignment(Qt.AlignCenter) self.welcomeMsg.setGeometry(self.rect()) self.videoWidget = QVideoWidget(self) self.videoWidget.setGeometry(self.rect()) self.videoWidget.hide() def keyPressEvent(self, event): if type(event) == QKeyEvent: if event.key() == Qt.Key_Escape: QApplication.quit() elif event.key() == Qt.Key_S: self.controller.skip() else: self.controller.onBuzzerPress() event.accept() else: event.ignore()
class Ui_WelcomeWindow(object): def setupUi(self, WelcomeWindow): WelcomeWindow.setObjectName("WelcomeWindow") WelcomeWindow.resize(840, 600) self.centralwidget = QtWidgets.QWidget(WelcomeWindow) self.centralwidget.setObjectName("centralwidget") self.takeButton = QtWidgets.QPushButton(self.centralwidget) self.takeButton.setGeometry(QtCore.QRect(120, 180, 211, 30)) self.takeButton.setObjectName("takeButton") self.welcomeLabel = QtWidgets.QLabel(self.centralwidget) self.welcomeLabel.setGeometry(QtCore.QRect(60, 70, 401, 61)) self.welcomeLabel.setObjectName("welcomeLabel") self.welcomeVideo = QVideoWidget(self.centralwidget) self.welcomeVideo.setGeometry(QtCore.QRect(500, 180, 261, 231)) self.welcomeVideo.setObjectName("welcomeVideo") WelcomeWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(WelcomeWindow) self.statusbar.setObjectName("statusbar") WelcomeWindow.setStatusBar(self.statusbar) self.retranslateUi(WelcomeWindow) QtCore.QMetaObject.connectSlotsByName(WelcomeWindow) def retranslateUi(self, WelcomeWindow): _translate = QtCore.QCoreApplication.translate WelcomeWindow.setWindowTitle( _translate("WelcomeWindow", "Bienvenue !")) self.takeButton.setText( _translate("WelcomeWindow", "Prendre une photo")) self.welcomeLabel.setText( _translate("WelcomeWindow", "Bienvenue dans le PhotoBooth de 42nd Street !!!"))
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"))
def setupUi(self, window): self.window = window self.window.setFixedSize(784, 442) #self.window.setFixedSize(884,542) self.window.setWindowFlags(Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint | Qt.WA_TranslucentBackground) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) widget = QWidget(self.window) widget.setObjectName('Custom_Widget') widget.setStyleSheet(""" #Custom_Widget { background: #002025; border-radius: 20px; opacity: 100; border: 2px solid #ff2025; } """) videoWidget = QVideoWidget(widget) videoWidget.setGeometry(QRect(0, 0, 784, 442)) self.mediaPlayer.setVideoOutput(videoWidget) self.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(os.getcwd() + "\\logo-anim.avi"))) self.mediaPlayer.play() self.mediaPlayer.stateChanged.connect( lambda x: self.closeSignal.emit(x)) #self.mediaPlayer.stateChanged.connect(lambda x: sys.exit()) self.window.setCentralWidget(widget)
def initUI(self): self.resize(1920, 1200) self.main_widget = QWidget() # 创建窗口主部件 self.main_widget.setObjectName("main_widget") self.main_layout = QGridLayout() # 创建主部件的网格布局 self.main_widget.setLayout(self.main_layout) # self.setCentralWidget(self.main_widget) self.main_widget.setStyleSheet(''' #main_widget{ border-image:url(./Ui_images/blackB.jpg); border-radius:30px } } ''') self.gif = QMovie("./Ui_images/2.gif") self.scorelabel = QLabel(self.main_widget) self.scorelabel.setGeometry(800, 700, 140, 70) self.scorelabel.setMovie(self.gif) self.gif.start() self.videoframe = QLabel(self.main_widget) self.videoframe.setGeometry(1000, 200, 800, 448) self.scoreframe = QLabel(self.main_widget) self.scoreframe.setGeometry(965, 712, 150, 50) self.scoreframe.setAlignment(Qt.AlignVCenter) self.th = Thread(self.video_csv) self.th.changePixmap.connect(self.setImage) self.th.score.connect(self.setText) #self.th.finished.connect(self.save_ranking) self.th.start() time.sleep(2) vw1 = QVideoWidget(self.main_widget) vw1.setGeometry(100, 200, 800, 448) player = QMediaPlayer(self.main_widget) player.setVideoOutput(vw1) player.setMedia(QMediaContent(QUrl("file:///" + self.video_path))) player.play() # self.setWindowOpacity(0.9) # 设置窗口透明度 # self.setAttribute(Qt.WA_TranslucentBackground) # 设置窗口背景透明 #self.setWindowFlag(Qt.FramelessWindowHint) # 隐藏边框 self.show()
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.frame = QtWidgets.QFrame(self.centralwidget) self.frame.setGeometry(QtCore.QRect(60, 10, 661, 531)) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.start_toolButton = QtWidgets.QToolButton(self.frame) self.start_toolButton.setGeometry(QtCore.QRect(50, 110, 161, 51)) self.start_toolButton.setObjectName("start_toolButton") self.stop_toolButton = QtWidgets.QToolButton(self.frame) self.stop_toolButton.setGeometry(QtCore.QRect(430, 110, 161, 51)) self.stop_toolButton.setObjectName("stop_toolButton") self.label = QtWidgets.QLabel(self.frame) self.label.setGeometry(QtCore.QRect(110, 40, 101, 41)) self.label.setScaledContents(False) self.label.setWordWrap(False) self.label.setOpenExternalLinks(False) self.label.setObjectName("label") self.image_line = QtWidgets.QLineEdit(self.frame) self.image_line.setGeometry(QtCore.QRect(230, 50, 61, 21)) self.image_line.setText("") self.image_line.setObjectName("image_line") self.color_widget = QtWidgets.QWidget(self.frame) self.color_widget.setGeometry(QtCore.QRect(30, 220, 261, 281)) self.color_widget.setObjectName("color_widget") self.color_widget = QVideoWidget(self.color_widget) self.depth_widget = QtWidgets.QWidget(self.frame) self.color_widget.setGeometry(QtCore.QRect(30, 220, 261, 281)) self.depth_widget.setGeometry(QtCore.QRect(380, 220, 261, 281)) self.depth_widget.setObjectName("depth_widget") MainWindow.setCentralWidget(self.centralwidget) self.statusbar = QtWidgets.QStatusBar(MainWindow) self.statusbar.setObjectName("statusbar") MainWindow.setStatusBar(self.statusbar) self.retranslateUi(MainWindow) # self.start_toolButton.clicked.connect(MainWindow.close) # self.stop_toolButton.clicked.connect(MainWindow.close) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "kinect采集程序")) self.start_toolButton.setText(_translate("MainWindow", "开始采集")) self.stop_toolButton.setText(_translate("MainWindow", "保存视频")) self.label.setText(_translate("MainWindow", "采集图像数量:"))
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 MainWindowView(object): def __init__(self, main_window): main_window.setObjectName("main_window") main_window.resize(1680, 1050) main_window.setMinimumSize(QtCore.QSize(1680, 1050)) self.centralwidget = QtWidgets.QWidget(main_window) self.centralwidget.setObjectName("central_widget") self.video_player_widget = QVideoWidget(self.centralwidget) self.video_player_widget.setGeometry(QtCore.QRect(20, 40, 671, 531)) self.video_player_widget.setObjectName("video_player_widget") self.verticalLayoutWidget = QtWidgets.QWidget(self.centralwidget) self.verticalLayoutWidget.setGeometry(QtCore.QRect(20, 580, 671, 111)) self.verticalLayoutWidget.setObjectName("__base_layout") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("__menu_buttons_layout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.time_into_video_counter = QtWidgets.QLCDNumber( self.verticalLayoutWidget) self.time_into_video_counter.setObjectName("time_into_video_counter") self.horizontalLayout_2.addWidget(self.time_into_video_counter) self.video_position_slider = QtWidgets.QSlider( self.verticalLayoutWidget) self.video_position_slider.setOrientation(QtCore.Qt.Horizontal) self.video_position_slider.setObjectName("video_position_slider") self.horizontalLayout_2.addWidget(self.video_position_slider) self.time_left_counter = QtWidgets.QLCDNumber( self.verticalLayoutWidget) self.time_left_counter.setObjectName("time_left_counter") self.horizontalLayout_2.addWidget(self.time_left_counter) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.skip_to_start_of_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.skip_to_start_of_video_button.setObjectName( "skip_to_start_of_video_button") self.horizontalLayout.addWidget(self.skip_to_start_of_video_button) spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.play_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.play_video_button.setObjectName("play_video_button") self.horizontalLayout.addWidget(self.play_video_button) spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem2) self.skip_to_end_of_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.skip_to_end_of_video_button.setObjectName( "skip_to_end_of_video_button") self.horizontalLayout.addWidget(self.skip_to_end_of_video_button) spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem3) self.verticalLayout.addLayout(self.horizontalLayout) self.detection_vertical_layout = QtWidgets.QWidget(self.centralwidget) self.detection_vertical_layout.setGeometry( QtCore.QRect(800, 40, 721, 861)) self.detection_vertical_layout.setObjectName( "detection_vertical_layout") self.verticalLayout_2 = QtWidgets.QVBoxLayout( self.detection_vertical_layout) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.detection_list_scrollable_area = QScrollArea() self.horizontalLayout_3.addWidget(self.detection_list_scrollable_area) self.detection_list_scrollable_area.setWidgetResizable(True) scrollContent = QWidget(self.detection_list_scrollable_area) self.detection_list_scrollable_area.setWidget(scrollContent) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.video_player_label = QtWidgets.QLabel(self.centralwidget) self.video_player_label.setGeometry(QtCore.QRect(250, 0, 201, 31)) font = QtGui.QFont() font.setPointSize(18) self.video_player_label.setFont(font) self.video_player_label.setAlignment(QtCore.Qt.AlignCenter) self.video_player_label.setObjectName("video_player_label") self.detection_label = QtWidgets.QLabel(self.centralwidget) self.detection_label.setGeometry(QtCore.QRect(1060, 0, 201, 31)) font = QtGui.QFont() font.setPointSize(18) self.detection_label.setFont(font) self.detection_label.setAlignment(QtCore.Qt.AlignCenter) self.detection_label.setObjectName("detection_label") main_window.setCentralWidget(self.centralwidget) self.menu_bar = QtWidgets.QMenuBar() self.menu_bar.setGeometry(QtCore.QRect(0, 0, 1680, 18)) self.menu_bar.setObjectName("menu_bar") main_window.setMenuBar(self.menu_bar) self.status_bar = QtWidgets.QStatusBar(main_window) self.status_bar.setObjectName("status_bar") main_window.setStatusBar(self.status_bar) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.errorLabel = QLabel() self.errorLabel.setSizePolicy(QSizePolicy.Preferred, QSizePolicy.Maximum) self.set_text_and_icons(main_window) def set_text_and_icons(self, main_window): _translate = QtCore.QCoreApplication.translate main_window.setWindowTitle(_translate("main_window", "main_window")) icon_object = QtWidgets.QWidget(main_window).style() self.skip_to_start_of_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaSkipBackward)) self.play_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaPlay)) self.skip_to_end_of_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaSkipForward)) self.video_player_label.setText( _translate("main_window", "Video Player")) self.detection_label.setText(_translate("main_window", "Detections")) def get_video_widget(self): return self.video_player_widget def get_media_player(self): return self.mediaPlayer def get_play_button(self): return self.play_video_button def get_skip_backward_button(self): return self.skip_to_start_of_video_button def get_skip_forward_button(self): return self.skip_to_end_of_video_button def get_position_slider(self): return self.video_position_slider def get_error_label(self): return self.errorLabel def get_time_left_counter(self): return self.time_left_counter def get_time_into_video_counter(self): return self.time_into_video_counter def get_menu_bar(self): return self.menu_bar def get_detection_event_scroll_area(self): return self.detection_list_scrollable_area def get_detection_vertical_layout(self): return self.detection_vertical_layout
class Example(QMainWindow): def __init__(self): super().__init__() self.initUI() def initUI(self): self.startTimeValue=0 self.endTimeValue=0 self.fpsValue=1 # 视频预览 self.player = QMediaPlayer(self) self.vw= QVideoWidget(self) # 定义视频显示的widget self.vw.setGeometry(20,20,600,600) self.vw.show() self.player.setVideoOutput(self.vw) # 视频播放输出的widget,就是上面定义的 self.player.positionChanged.connect(self.changeSlide) # 播放按钮 self.btn = QPushButton('play', self) self.btn.move(20, 620) self.btn.clicked.connect(self.player.play) # 暂停按钮 self.btn = QPushButton('pause', self) self.btn.move(120, 620) self.btn.clicked.connect(self.player.pause) # 停止按钮 self.btn = QPushButton('stop', self) self.btn.move(220, 620) self.btn.clicked.connect(self.player.stop) # 播放时长 self.videoPlayDurationLabel = QLabel(self) self.videoPlayDurationLabel.setGeometry(320, 620, 100, 40) # 开始转换准备 # 分辨率 self.startLabel = QLabel(self) self.startLabel.setGeometry(640, 10, 260, 40) self.startLabel.setText('分辨率:默认尺寸(暂不支持变更)') # 开始时间 self.startLabel = QLabel(self) self.startLabel.setGeometry(640, 40, 50, 40) self.startLabel.setText('start:') # 开始时间值 startTimeValueLE = QLineEdit(self) startTimeValueLE.move(680, 40) startTimeValueLE.textChanged[str].connect(self.onChangedOfStartTime) startTimeValueLE.setText(str(self.startTimeValue)) # 结束时间 self.startLabel = QLabel(self) self.startLabel.setGeometry(640, 80, 50, 40) self.startLabel.setText('end:') self.endTimeValueLE = QLineEdit(self) self.endTimeValueLE.move(680, 80) self.endTimeValueLE.textChanged[str].connect(self.onChangedOfEndTime) self.endTimeValueLE.setText(str(self.endTimeValue)) # FPS self.fpsLabel = QLabel(self) self.fpsLabel.setGeometry(640, 120, 50, 40) self.fpsLabel.setText('fps:') fpsValueLE = QLineEdit(self) fpsValueLE.move(680, 120) fpsValueLE.textChanged[str].connect(self.onChangedOfFPS) fpsValueLE.setText(str(self.fpsValue)) # 转换 self.btn = QPushButton('转换gif', self) self.btn.move(640, 160) self.btn.clicked.connect(self.transformToGif) # gif的文件名称 self.gifFileNameLable=QLabel(self) self.gifFileNameLable.setGeometry(640, 190, 200, 60) # self.gifFileNameLable.setText('xxxx.gif') # Gif的文件大小 self.gifSizeLable=QLabel(self) self.gifSizeLable.move(640,230) # self.gifSizeLable.setText('0KB') # 导出 #预览 # self.pbar = QProgressBar(self) # self.pbar.setGeometry(30, 100, 200, 25) openFile = QAction(QIcon('open.png'), 'Open', self) openFile.setShortcut('Ctrl+O') openFile.setStatusTip('Open new File') openFile.triggered.connect(self.showDialog) menubar = self.menuBar() fileMenu = menubar.addMenu('&File') fileMenu.addAction(openFile) self.label = QLabel(self) self.label.setGeometry(800, 20, 400, 500) self.label.setScaledContents(True) self.setGeometry(0, 0, 1300, 900) self.setWindowTitle('视频转Gif动图') self.show() def changeSlide(self, position): self.vidoeLength = self.player.duration() + 0.1 print(self.vidoeLength) # self.sld_video.setValue(round((position / self.vidoeLength) * 100)) self.videoPlayDurationLabel.setText(str(round((position / self.vidoeLength) * 100, 2)) + '%') if((self.endTimeValue)==0): self.endTimeValueLE.setText(str(int(self.player.duration()/1000))) def transformToGif(self): print('transformToGif--filepath='+fileList[0].path()) cache = mpe.VideoFileClip(fileList[0].path()).subclip(self.startTimeValue,self.endTimeValue) date=time.strftime('%Y-%m-%d_%H-%M-%S') resultGifFilePath='./gif/'+date+'.gif'# 使用日期时间作为gif文件名称 # TODO 转换进度条对话框 展示 cache.write_gif(resultGifFilePath,fps=float(self.fpsValue)) self.gif = QMovie(resultGifFilePath) self.label.setMovie(self.gif) self.gif.start() self.gifFileNameLable.setText(date+'.gif') doubleSize=os.path.getsize(resultGifFilePath)/1000 self.gifSizeLable.setText(str(int(doubleSize))+'KB') def onChangedOfFPS(self, text): self.fpsValue=text print('fps='+self.fpsValue) def onChangedOfStartTime(self, text): self.startTimeValue=text print('起点 start='+self.startTimeValue) def onChangedOfEndTime(self, text): if(''==text): self.endTimeValue=-1 else : self.endTimeValue=int(text) print('end='+ str(self.endTimeValue)) def timerEvent(self, e): if self.step >= 100: self.timer.stop() self.btn.setText('Finished') return self.step = self.step + 1 self.pbar.setValue(self.step) def doAction(self): if self.timer.isActive(): self.timer.stop() self.btn.setText('Start') else: self.timer.start(100, self) self.btn.setText('Stop') # def changeValue(self, value): # if value == 0: # self.label.setPixmap(QPixmap('./gif/2022-03-21-17.19.44.gif')) # elif value > 0 and value <= 30: # self.label.setPixmap(QPixmap('./img/1.jpg')) # elif value > 30 and value < 80: # self.label.setPixmap(QPixmap('med.ico')) # else: # self.label.setPixmap(QPixmap('max.ico')) def showDialog(self): # TODO 视频文件大小 # TODO 播放时长 # TODO 视频播放总时长显示 global fileList fileList = QFileDialog.getOpenFileUrl() print(fileList[0]) self.player.setMedia(QMediaContent(fileList[0])) # 选取视频文件 self.player.play() def closeEvent(self, event): reply = QMessageBox.question(self, 'Message', "Are you sure to quit?", QMessageBox.Yes | QMessageBox.No, QMessageBox.No) if reply == QMessageBox.Yes: event.accept() else: event.ignore()
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1920, 1080) MainWindow.setContentsMargins(0, 0, 0, 0) MainWindow.showFullScreen() self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.photo = QtWidgets.QLabel(self.centralwidget) self.photo.setGeometry(QtCore.QRect(0, 0, 1920, 1080)) self.photo.setText("") self.photo.setContentsMargins(0, 0, 0, 0) self.photo.setPixmap(QtGui.QPixmap("image/start.jpg")) self.photo.setContentsMargins(0, 0, 0, 0) self.photo.setScaledContents(True) self.photo.setObjectName("photo") self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.videowidget = QVideoWidget(self.centralwidget) self.videowidget.setGeometry(QtCore.QRect(0, 0, 0, 0)) MainWindow.setCentralWidget(self.centralwidget) MainWindow.setContentsMargins(0, 0, 0, 0) self.retranslateUi(MainWindow) # QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) def imageSetting(self, imageName): self.resetSetting() self.photo.setGeometry(QtCore.QRect(0, 0, 1920, 1080)) self.photo.setPixmap(QtGui.QPixmap(imageName)) def soundSetting(self, soundName): self.sound_filename = soundName self.sound_fullpath = QtCore.QDir.current().absoluteFilePath( self.sound_filename) self.sound_url = QtCore.QUrl.fromLocalFile(self.sound_fullpath) self.sound_content = M.QMediaContent(self.sound_url) self.sound_player = M.QMediaPlayer() self.sound_player.setMedia(self.sound_content) self.sound_player.play() def videoSetting(self, videoName): self.video_filename = os.path.abspath(videoName) self.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(self.video_filename))) self.mediaPlayer.setVideoOutput(self.videowidget) self.resetSetting() self.videowidget.setGeometry(QtCore.QRect(0, 0, 1920, 1080)) self.mediaPlayer.play() def resetSetting(self): self.videowidget.setGeometry(QtCore.QRect(0, 0, 0, 0)) self.photo.setGeometry(QtCore.QRect(0, 0, 0, 0)) def show_1(self, value): if value == "1": self.imageSetting("image/1.png") elif value == "10": self.imageSetting("image/1n.png") elif value == "100": self.imageSetting("image/1y.png") self.soundSetting('sound/1.mp3') def show_2(self, value): if value == "2": self.imageSetting("image/2.png") elif value == "20": self.imageSetting("image/2n.png") self.soundSetting("sound/2.mp3") elif value == "200": self.videoSetting('video/2y.mp4') def show_3(self, value): if value == "3": self.imageSetting("image/3.png") elif value == "30": self.imageSetting("image/3n.png") self.soundSetting("sound/3.mp3") elif value == "300": self.videoSetting('video/3y.mp4') def show_4(self, value): if value == "4": self.imageSetting("image/4.png") elif value == "40": self.soundSetting("sound/4.mp3") self.imageSetting("image/4n.png") elif value == "400": self.imageSetting('image/5.png') self.soundSetting("sound/5.mp3") def show_5(self, value): if value == "5": self.imageSetting("image/5.png") self.soundSetting("sound/5.mp3") elif value == "50": self.imageSetting("image/6.png") elif value == "500": self.soundSetting("music/1.mp3") self.imageSetting("image/6.png") def show_6(self, value): if value == "6": self.imageSetting("image/6.png")
class QtPlayer(QMainWindow): pRate = 1.0 def __init__(self): super().__init__() # 设置窗口 self.setGeometry(300, 300, 800, 600 + 96) self.setWindowTitle('Player') self.setFixedSize(800, 600 + 96) # 设置滑动条 self.slider = QSlider(QtCore.Qt.Horizontal, self) self.slider.setGeometry(10, 640, 800 - 20, 20) self.slider.setRange(0, 100) self.slider.sliderPressed.connect(self.SlideChanged) self.slider.valueChanged.connect(self.setClock) # 设置时间条 self.slider.show() # 设置按钮 self.btn = QPushButton('暂停', self) self.btn.clicked.connect(self.handleButton) self.btn.resize(self.btn.sizeHint()) self.btn.move(700 / 2, 600 + 60) self.btn1 = QPushButton('播放', self) self.btn1.clicked.connect(self.handleButton1) self.btn1.resize(self.btn1.sizeHint()) self.btn1.move(700 / 2, 600 + 60) self.btn1.hide() self.forward = QPushButton('快进', self) self.forward.clicked.connect(self.handleForward) self.forward.resize(self.btn.sizeHint()) self.forward.move(700 / 2 + 70, 600 + 60) self.back = QPushButton('快退', self) self.back.clicked.connect(self.handleBack) self.back.resize(self.btn.sizeHint()) self.back.move(700 / 2 - 70, 600 + 60) # 设置菜单 self.createMenu() # 多媒体播放器 self.vw = QVideoWidget(self) self.vw.setGeometry(QtCore.QRect(0, 30, 800, 600)) self.vw.show() # 视频读入 self.player = QMediaPlayer(self) self.player.setVideoOutput(self.vw) # 视频播放输出的widget,就是上面定义的 self.player.positionChanged.connect(self.PlaySlide) self.player.durationChanged.connect(self.MediaTime) # 音量条(音量初始化需要player定义好了才能设置) self.createVol() # 时间条 (播放时间/视频时长) self.clock = QLabel(self) self.clock.setText("00:00/00:00") self.clock.setGeometry(550, 660, 80, 30) # 进入主循环 self.show() def createVol(self): # 音量调节 self.volLabel = QLabel(self) self.volLabel.setText("音量") self.volLabel.setGeometry(100, 660, 30, 30) self.volSlider = QSlider(QtCore.Qt.Horizontal, self) self.volSlider.setGeometry(130, 660, 80, 30) self.volSlider.setRange(0, 100) self.volSlider.valueChanged.connect(self.volChanged) self.volSlider.setValue(80) # 默认80%的音量 self.volSlider.show() def setClock(self): tmp1 = self.player.position() tmp2 = self.player.duration() self.clock.setText("%d:%d/%d:%d" % (tmp1 / 1000 / 60, tmp1 / 1000 % 60, tmp2 / 1000 / 60, tmp2 / 1000 % 60)) def volChanged(self): # 音量调节 self.player.setVolume(self.volSlider.value()) def SlideChanged(self): # 滚动条手动改变 self.player.setPosition(self.slider.value() * 1000) def PlaySlide(self, val): # 设置滚动条值 self.slider.setValue(int(val / 1000)) def MediaTime(self, time): # 设置滚动条范围 self.slider.setValue(0) self.time = self.player.duration() / 1000 self.slider.setRange(0, int(self.time)) def handleButton1(self): # 播放 self.player.play() self.btn1.hide() self.btn.show() def handleButton(self): # 暂停 self.player.pause() self.btn.hide() self.btn1.show() def handleBack(self): # 慢放 if self.pRate > 0.5: self.pRate = self.pRate - 0.5 self.player.setPlaybackRate(self.pRate) def handleForward(self): # 快放 if self.pRate < 1.5: self.pRate = self.pRate + 0.5 self.player.setPlaybackRate(self.pRate) def createMenu(self): #创建菜单 self.fileMenu() def fileMenu(self): menu = self.menuBar().addMenu('文件(&F)') openfile = menu.addAction('打开(&O)', self.openfile_triggered) quitfile = menu.addAction('退出(&Q)', self.quitfile_triggered) openfile.setShortcut("Ctrl+O") quitfile.setShortcut("Ctrl+Q") def openfile_triggered(self): self.player.setMedia(QMediaContent( QFileDialog.getOpenFileUrl()[0])) # 选取视频文件 self.player.play() """ filename, fileType = QFileDialog.getOpenFileName(self, "打开文件", './', "Video Files(*.mp4)") if len(fileType) != 0: self.player.setMedia(QMediaContent(QUrl.fromLocalFile(filename))) # 选取视频文件 self.player.play() # 播放视频 """ def quitfile_triggered(self): self.close()
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1318, 719) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( MainWindow.sizePolicy().hasHeightForWidth()) MainWindow.setSizePolicy(sizePolicy) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setEnabled(True) 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.startButton = QtWidgets.QPushButton(self.centralwidget) self.startButton.setGeometry(QtCore.QRect(10, 630, 231, 41)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.startButton.sizePolicy().hasHeightForWidth()) self.startButton.setSizePolicy(sizePolicy) self.startButton.setMaximumSize(QtCore.QSize(16777215, 41)) font = QtGui.QFont() font.setPointSize(14) self.startButton.setFont(font) self.startButton.setObjectName("startButton") self.EmotionLabel = QtWidgets.QLabel(self.centralwidget) self.EmotionLabel.setGeometry(QtCore.QRect(10, 20, 400, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.EmotionLabel.sizePolicy().hasHeightForWidth()) self.EmotionLabel.setSizePolicy(sizePolicy) self.EmotionLabel.setMaximumSize(QtCore.QSize(16777215, 21)) font = QtGui.QFont() font.setPointSize(12) self.EmotionLabel.setFont(font) self.EmotionLabel.setObjectName("EmotionLabel") self.graphic1 = GraphicsLayoutWidget(self.centralwidget) self.graphic1.setGeometry(QtCore.QRect(680, 50, 611, 280)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.graphic1.sizePolicy().hasHeightForWidth()) self.graphic1.setSizePolicy(sizePolicy) self.graphic1.setMinimumSize(QtCore.QSize(153, 70)) self.graphic1.setObjectName("graphic1") self.graphic2 = GraphicsLayoutWidget(self.centralwidget) self.graphic2.setGeometry(QtCore.QRect(680, 390, 611, 280)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.graphic2.sizePolicy().hasHeightForWidth()) self.graphic2.setSizePolicy(sizePolicy) self.graphic2.setMinimumSize(QtCore.QSize(153, 70)) self.graphic2.setObjectName("graphic2") self.graphLabel1 = QtWidgets.QLabel(self.centralwidget) self.graphLabel1.setEnabled(True) self.graphLabel1.setGeometry(QtCore.QRect(680, 20, 400, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.graphLabel1.sizePolicy().hasHeightForWidth()) self.graphLabel1.setSizePolicy(sizePolicy) self.graphLabel1.setMaximumSize(QtCore.QSize(16777215, 21)) font = QtGui.QFont() font.setPointSize(12) self.graphLabel1.setFont(font) self.graphLabel1.setObjectName("graphLabel1") self.graphLabel2 = QtWidgets.QLabel(self.centralwidget) self.graphLabel2.setEnabled(True) self.graphLabel2.setGeometry(QtCore.QRect(680, 350, 400, 21)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.graphLabel2.sizePolicy().hasHeightForWidth()) self.graphLabel2.setSizePolicy(sizePolicy) self.graphLabel2.setMaximumSize(QtCore.QSize(16777215, 21)) font = QtGui.QFont() font.setPointSize(12) self.graphLabel2.setFont(font) self.graphLabel2.setObjectName("graphLabel2") self.videoWidget = QVideoWidget(self.centralwidget) self.videoWidget.setGeometry(QtCore.QRect(10, 50, 611, 280)) self.videoWidget.setMinimumSize(QtCore.QSize(153, 70)) self.videoWidget.setObjectName("videoWidget") self.faceWidget = QtWidgets.QLabel(self.centralwidget) self.faceWidget.setGeometry(QtCore.QRect(10, 340, 611, 280)) self.faceWidget.setMinimumSize(QtCore.QSize(153, 70)) self.faceWidget.setText("") self.faceWidget.setObjectName("faceWidget") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1318, 21)) self.menubar.setObjectName("menubar") self.openPrevSession = QtWidgets.QMenu(self.menubar) self.openPrevSession.setObjectName("openPrevSession") self.settings = QtWidgets.QMenu(self.menubar) self.settings.setObjectName("settings") MainWindow.setMenuBar(self.menubar) self.action = QtWidgets.QAction(MainWindow) self.action.setObjectName("action") self.choosePort = QtWidgets.QAction(MainWindow) self.choosePort.setObjectName("choosePort") self.setEmotions = QtWidgets.QAction(MainWindow) self.setEmotions.setObjectName("setEmotions") self.chooseVideo = QtWidgets.QAction(MainWindow) self.chooseVideo.setObjectName("chooseVideo") self.setEmotionsData = QtWidgets.QAction(MainWindow) self.setEmotionsData.setObjectName("setEmotionsData") self.settings.addAction(self.setEmotionsData) self.settings.addAction(self.setEmotions) self.settings.addAction(self.chooseVideo) self.settings.addAction(self.choosePort) self.menubar.addAction(self.settings.menuAction()) self.menubar.addAction(self.openPrevSession.menuAction()) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.startButton.setText(_translate("MainWindow", "Запуск")) self.EmotionLabel.setText(_translate("MainWindow", "Эмоция:")) self.graphLabel1.setText(_translate("MainWindow", "Окраска эмоции")) self.graphLabel2.setText(_translate("MainWindow", "Сила эмоции")) self.openPrevSession.setTitle( _translate("MainWindow", "Загрузить предыдущую сессию работы")) self.settings.setTitle(_translate("MainWindow", "Настройки")) self.action.setText( _translate("MainWindow", "Загрузить предыдущую сессию")) self.choosePort.setText(_translate("MainWindow", "Выбрать порт")) self.setEmotions.setText( _translate("MainWindow", "Настроить определяемые эмоции")) self.chooseVideo.setText(_translate("MainWindow", "Выбрать видеофайл")) self.setEmotionsData.setText( _translate("MainWindow", "Загрузить определяемые эмоции"))
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_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1128, 866) MainWindow.setStyleSheet("background-color: rgb(154, 184, 200)") self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.tabWidget = QtWidgets.QTabWidget(self.centralwidget) self.tabWidget.setGeometry(QtCore.QRect(0, 0, 1241, 831)) self.tabWidget.setStyleSheet("") self.tabWidget.setObjectName("tabWidget") self.tab = QtWidgets.QWidget() self.tab.setObjectName("tab") self.lineEdit = QtWidgets.QLineEdit(self.tab) self.lineEdit.setGeometry(QtCore.QRect(310, 110, 271, 61)) self.lineEdit.setObjectName("lineEdit") self.label_2 = QtWidgets.QLabel(self.tab) self.label_2.setGeometry(QtCore.QRect(310, 40, 501, 61)) font = QtGui.QFont() font.setItalic(True) self.label_2.setFont(font) self.label_2.setObjectName("label_2") self.pushButton = QtWidgets.QPushButton(self.tab) self.pushButton.setGeometry(QtCore.QRect(630, 110, 181, 61)) font = QtGui.QFont() font.setPointSize(9) font.setBold(True) font.setWeight(75) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.tabWidget.addTab(self.tab, "") self.tab_2 = QtWidgets.QWidget() self.tab_2.setObjectName("tab_2") self.pushButton_3 = QtWidgets.QPushButton(self.tab_2) self.pushButton_3.setGeometry(QtCore.QRect(480, 167, 141, 61)) font = QtGui.QFont() font.setPointSize(9) font.setBold(True) font.setItalic(False) font.setWeight(75) self.pushButton_3.setFont(font) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(self.tab_2) self.pushButton_4.setGeometry(QtCore.QRect(480, 270, 141, 61)) font = QtGui.QFont() font.setPointSize(9) font.setBold(True) font.setWeight(75) self.pushButton_4.setFont(font) self.pushButton_4.setObjectName("pushButton_4") self.label_9 = QtWidgets.QLabel(self.tab_2) self.label_9.setGeometry(QtCore.QRect(390, 60, 291, 81)) font = QtGui.QFont() font.setPointSize(12) font.setItalic(True) self.label_9.setFont(font) self.label_9.setObjectName("label_9") self.tabWidget.addTab(self.tab_2, "") self.tab_5 = QtWidgets.QWidget() self.tab_5.setObjectName("tab_5") self.label_8 = QtWidgets.QLabel(self.tab_5) self.label_8.setGeometry(QtCore.QRect(10, 40, 451, 311)) self.label_8.setObjectName("label_8") self.pushButton_5 = QtWidgets.QPushButton(self.tab_5) self.pushButton_5.setGeometry(QtCore.QRect(810, 410, 93, 61)) font = QtGui.QFont() font.setBold(True) font.setWeight(75) self.pushButton_5.setFont(font) self.pushButton_5.setObjectName("pushButton_5") self.pushButton_6 = QtWidgets.QPushButton(self.tab_5) self.pushButton_6.setGeometry(QtCore.QRect(370, 537, 341, 111)) font = QtGui.QFont() font.setPointSize(20) font.setBold(True) font.setWeight(75) self.pushButton_6.setFont(font) self.pushButton_6.setObjectName("pushButton_6") self.player = QVideoWidget(self.tab_5) self.player.setGeometry(QtCore.QRect(630, 40, 441, 311)) self.player.setObjectName("player") self.tabWidget.addTab(self.tab_5, "") self.tab_6 = QtWidgets.QWidget() self.tab_6.setObjectName("tab_6") self.label_11 = QtWidgets.QLabel(self.tab_6) self.label_11.setGeometry(QtCore.QRect(160, 80, 101, 41)) self.label_11.setObjectName("label_11") self.label_12 = QtWidgets.QLabel(self.tab_6) self.label_12.setGeometry(QtCore.QRect(160, 150, 101, 41)) self.label_12.setObjectName("label_12") self.label_13 = QtWidgets.QLabel(self.tab_6) self.label_13.setGeometry(QtCore.QRect(100, 290, 171, 41)) self.label_13.setObjectName("label_13") self.label_14 = QtWidgets.QLabel(self.tab_6) self.label_14.setGeometry(QtCore.QRect(160, 220, 111, 41)) self.label_14.setObjectName("label_14") self.pushButton_7 = QtWidgets.QPushButton(self.tab_6) self.pushButton_7.setGeometry(QtCore.QRect(380, 370, 341, 111)) font = QtGui.QFont() font.setPointSize(20) font.setBold(True) font.setWeight(75) self.pushButton_7.setFont(font) self.pushButton_7.setObjectName("pushButton_7") self.lineEdit_2 = QtWidgets.QLineEdit(self.tab_6) self.lineEdit_2.setGeometry(QtCore.QRect(290, 140, 581, 61)) self.lineEdit_2.setObjectName("lineEdit_2") self.lineEdit_3 = QtWidgets.QLineEdit(self.tab_6) self.lineEdit_3.setGeometry(QtCore.QRect(290, 70, 581, 61)) self.lineEdit_3.setObjectName("lineEdit_3") self.lineEdit_4 = QtWidgets.QLineEdit(self.tab_6) self.lineEdit_4.setGeometry(QtCore.QRect(290, 210, 581, 61)) self.lineEdit_4.setObjectName("lineEdit_4") self.lineEdit_5 = QtWidgets.QLineEdit(self.tab_6) self.lineEdit_5.setGeometry(QtCore.QRect(290, 290, 581, 61)) self.lineEdit_5.setObjectName("lineEdit_5") self.tabWidget.addTab(self.tab_6, "") MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 1128, 26)) 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(0) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.label_2.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:11pt; font-weight:600;\">Add your position to get the closest hotel for you</span></p></body></html>")) self.pushButton.setText(_translate("MainWindow", "Enter!")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MainWindow", "Country")) self.pushButton_3.setText(_translate("MainWindow", "Lysebu Hotel")) self.pushButton_4.setText(_translate("MainWindow", "Dalen Hotel")) self.label_9.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:16pt; font-weight:600;\">Choose your hotel</span></p></body></html>")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("MainWindow", "Hotel")) self.label_8.setText(_translate("MainWindow", "TextLabel")) self.pushButton_5.setText(_translate("MainWindow", "Play video")) self.pushButton_6.setText(_translate("MainWindow", "Book Now!")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_5), _translate("MainWindow", "Hotel\'s Info")) self.label_11.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:11pt; font-weight:600; font-style:italic;\">First Name</span></p></body></html>")) self.label_12.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:11pt; font-weight:600; font-style:italic;\">Last Name</span></p></body></html>")) self.label_13.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:11pt; font-weight:600; font-style:italic;\">Number Of Nights</span></p></body></html>")) self.label_14.setText(_translate("MainWindow", "<html><head/><body><p align=\"center\"><span style=\" font-size:11pt; font-weight:600; font-style:italic;\">ID Number</span></p></body></html>")) self.pushButton_7.setText(_translate("MainWindow", "Book Now!")) self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_6), _translate("MainWindow", "Book"))
class Ui_main(object): def setupUi(self, main): main.setObjectName("main") main.resize(1024, 768) main.setContextMenuPolicy(QtCore.Qt.NoContextMenu) main.setAcceptDrops(False) main.setAutoFillBackground(False) self.verticalLayoutWidget = QtWidgets.QWidget(main) self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 10, 1021, 80)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.titleLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.titleLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize) self.titleLayout.setContentsMargins(0, 0, 0, 0) self.titleLayout.setSpacing(0) self.titleLayout.setObjectName("titleLayout") self.title = QtWidgets.QLabel(self.verticalLayoutWidget) self.title.setEnabled(True) font = QtGui.QFont() font.setPointSize(26) font.setBold(True) font.setWeight(75) self.title.setFont(font) self.title.setTextFormat(QtCore.Qt.AutoText) self.title.setAlignment(QtCore.Qt.AlignCenter) self.title.setObjectName("title") self.titleLayout.addWidget(self.title) self.verticalLayoutWidget_2 = QtWidgets.QWidget(main) self.verticalLayoutWidget_2.setGeometry(QtCore.QRect( 50, 130, 391, 271)) self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.menuLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2) self.menuLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize) self.menuLayout.setContentsMargins(0, 0, 0, 0) self.menuLayout.setSpacing(0) self.menuLayout.setObjectName("menuLayout") spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.menuLayout.addItem(spacerItem) self.buttonLayout = QtWidgets.QHBoxLayout() self.buttonLayout.setObjectName("buttonLayout") self.selectButton = QtWidgets.QPushButton(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.selectButton.sizePolicy().hasHeightForWidth()) self.selectButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.selectButton.setFont(font) self.selectButton.setObjectName("selectButton") self.buttonLayout.addWidget(self.selectButton) self.submitButton = QtWidgets.QPushButton(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.submitButton.sizePolicy().hasHeightForWidth()) self.submitButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.submitButton.setFont(font) self.submitButton.setObjectName("submitButton") self.buttonLayout.addWidget(self.submitButton) self.menuLayout.addLayout(self.buttonLayout) spacerItem1 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed) self.menuLayout.addItem(spacerItem1) self.checkBoxLayout = QtWidgets.QHBoxLayout() self.checkBoxLayout.setObjectName("checkBoxLayout") self.heatmap = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.heatmap.sizePolicy().hasHeightForWidth()) self.heatmap.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.heatmap.setFont(font) self.heatmap.setObjectName("heatmap") self.checkBoxLayout.addWidget(self.heatmap, 0, QtCore.Qt.AlignHCenter) self.counting = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.counting.sizePolicy().hasHeightForWidth()) self.counting.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.counting.setFont(font) self.counting.setObjectName("counting") self.checkBoxLayout.addWidget(self.counting) self.menuLayout.addLayout(self.checkBoxLayout) spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) self.menuLayout.addItem(spacerItem2) self.videoWidget = QVideoWidget(main) self.videoWidget.setGeometry(QtCore.QRect(500, 130, 480, 270)) self.videoWidget.setAutoFillBackground(False) self.videoWidget.setObjectName("videoWidget") self.resultWidget = QVideoWidget(main) self.resultWidget.setGeometry(QtCore.QRect(500, 450, 480, 270)) self.resultWidget.setAutoFillBackground(False) self.resultWidget.setObjectName("resultWidget") self.horizontalLayoutWidget = QtWidgets.QWidget(main) self.horizontalLayoutWidget.setGeometry(QtCore.QRect( 670, 400, 171, 51)) self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") self.peopleBox = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) self.peopleBox.setContentsMargins(0, 0, 0, 0) self.peopleBox.setObjectName("peopleBox") self.peopleNo = QtWidgets.QLCDNumber(self.horizontalLayoutWidget) self.peopleNo.setFrameShape(QtWidgets.QFrame.NoFrame) self.peopleNo.setSmallDecimalPoint(False) self.peopleNo.setSegmentStyle(QtWidgets.QLCDNumber.Filled) self.peopleNo.setObjectName("peopleNo") self.peopleBox.addWidget(self.peopleNo) self.peopleLabel = QtWidgets.QLabel(self.horizontalLayoutWidget) font = QtGui.QFont() font.setPointSize(11) self.peopleLabel.setFont(font) self.peopleLabel.setAlignment(QtCore.Qt.AlignCenter) self.peopleLabel.setObjectName("peopleLabel") self.peopleBox.addWidget(self.peopleLabel) self.verticalLayoutWidget_3 = QtWidgets.QWidget(main) self.verticalLayoutWidget_3.setGeometry(QtCore.QRect( 50, 450, 421, 271)) self.verticalLayoutWidget_3.setObjectName("verticalLayoutWidget_3") self.progressLayout = QtWidgets.QVBoxLayout( self.verticalLayoutWidget_3) self.progressLayout.setContentsMargins(0, 0, 0, 0) self.progressLayout.setObjectName("progressLayout") self.progressBar = QtWidgets.QProgressBar(self.verticalLayoutWidget_3) self.progressBar.setLocale( QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.progressBar.setProperty("value", 0) self.progressBar.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft) self.progressBar.setOrientation(QtCore.Qt.Horizontal) self.progressBar.setObjectName("progressBar") self.progressLayout.addWidget(self.progressBar) self.retranslateUi(main) QtCore.QMetaObject.connectSlotsByName(main) def retranslateUi(self, main): _translate = QtCore.QCoreApplication.translate main.setWindowTitle(_translate("main", "Dialog")) self.title.setText(_translate("main", "[FTP] CCC System Beta")) self.selectButton.setText(_translate("main", "Select Video")) self.submitButton.setText(_translate("main", "Submit")) self.heatmap.setText(_translate("main", "Heatmap")) self.counting.setText(_translate("main", "Counting People")) self.peopleLabel.setText(_translate("main", "People"))
class Ui_main(): global name_in, out, selected, checked, zone_cutted checked = True def __init__(self): self.horizontalLayoutWidget_3 = QtWidgets.QWidget(main) self.statusTitle = QtWidgets.QLabel(main) self.countingLabel = QtWidgets.QLabel(main) self.statusLabel = QtWidgets.QLabel(main) self.heatmapLabel = QtWidgets.QLabel(main) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.videoWidget = QVideoWidget(main) self.counting = QtWidgets.QCheckBox(self.horizontalLayoutWidget_3) self.heatmap = QtWidgets.QCheckBox(self.horizontalLayoutWidget_3) self.selectButton = QtWidgets.QPushButton(self.horizontalLayoutWidget_3) self.buttonLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_3) self.zone_cutted = False def setupUi(self, main): main.setObjectName("main") main.setWindowModality(QtCore.Qt.NonModal) main.resize(1230, 830) main.setFixedSize(QSize(1230, 830)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(main.sizePolicy().hasHeightForWidth()) main.setSizePolicy(sizePolicy) main.setContextMenuPolicy(QtCore.Qt.NoContextMenu) main.setAcceptDrops(False) main.setAutoFillBackground(False) main.setModal(False) # # self.horizontalLayoutWidget_3.setGeometry(QtCore.QRect(20, 420, 1191, 39)) self.horizontalLayoutWidget_3.setObjectName("horizontalLayoutWidget_3") self.buttonLayout.setContentsMargins(0, 0, 0, 0) self.buttonLayout.setObjectName("buttonLayout") self.heatmapLabel.setGeometry(QtCore.QRect(420, 20, 380, 380)) self.heatmapLabel.setFrameShape(QtWidgets.QFrame.Box) self.heatmapLabel.setAlignment(QtCore.Qt.AlignCenter) self.heatmapLabel.setObjectName("heatmapLabel") self.countingLabel.setGeometry(QtCore.QRect(830, 20, 380, 380)) self.countingLabel.setFrameShape(QtWidgets.QFrame.Box) self.countingLabel.setAlignment(QtCore.Qt.AlignCenter) self.countingLabel.setObjectName("countingLabel") sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.selectButton.sizePolicy().hasHeightForWidth()) self.selectButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.selectButton.setFont(font) self.selectButton.setObjectName("selectButton") self.selectButton.clicked.connect(self.abrir) self.buttonLayout.addWidget(self.selectButton) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.heatmap.sizePolicy().hasHeightForWidth()) self.heatmap.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.heatmap.setFont(font) self.heatmap.setObjectName("heatmap") self.buttonLayout.addWidget(self.heatmap) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.counting.sizePolicy().hasHeightForWidth()) self.counting.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.counting.setFont(font) self.counting.setObjectName("counting") self.buttonLayout.addWidget(self.counting) spacerItem = QtWidgets.QSpacerItem(250, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) self.buttonLayout.addItem(spacerItem) self.beginTimeLabel = QtWidgets.QLabel(self.horizontalLayoutWidget_3) font = QtGui.QFont() font.setPointSize(12) self.beginTimeLabel.setFont(font) self.beginTimeLabel.setObjectName("beginTimeLabel") self.buttonLayout.addWidget(self.beginTimeLabel) self.beginTimeEdit = QtWidgets.QTimeEdit(self.horizontalLayoutWidget_3) self.beginTimeEdit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.beginTimeEdit.setObjectName("beginTimeEdit") self.buttonLayout.addWidget(self.beginTimeEdit) spacerItem1 = QtWidgets.QSpacerItem(50, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) self.buttonLayout.addItem(spacerItem1) self.startTimeLabel = QtWidgets.QLabel(self.horizontalLayoutWidget_3) font = QtGui.QFont() font.setPointSize(12) self.startTimeLabel.setFont(font) self.startTimeLabel.setObjectName("startTimeLabel") self.buttonLayout.addWidget(self.startTimeLabel) self.startTimeEdit = QtWidgets.QTimeEdit(self.horizontalLayoutWidget_3) self.startTimeEdit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.startTimeEdit.setObjectName("startTimeEdit") self.buttonLayout.addWidget(self.startTimeEdit) self.endTimeLabel = QtWidgets.QLabel(self.horizontalLayoutWidget_3) font = QtGui.QFont() font.setPointSize(12) self.endTimeLabel.setFont(font) self.endTimeLabel.setObjectName("endTimeLabel") self.buttonLayout.addWidget(self.endTimeLabel) self.endTimeEdit = QtWidgets.QTimeEdit(self.horizontalLayoutWidget_3) self.endTimeEdit.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates)) self.endTimeEdit.setObjectName("endTimeEdit") self.buttonLayout.addWidget(self.endTimeEdit) # self.submitButton = QtWidgets.QPushButton(self.horizontalLayoutWidget_3) self.submitButton = QtWidgets.QPushButton(main) self.submitButton.setGeometry(QtCore.QRect(940, 540, 266, 41)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.submitButton.sizePolicy().hasHeightForWidth()) self.submitButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.submitButton.setFont(font) self.submitButton.setObjectName("submitButton") self.submitButton.clicked.connect(self.run_process) self.submitButton.setEnabled(False) # self.buttonLayout.addWidget(self.submitButton) # # self.videoWidget.setGeometry(QtCore.QRect(20, 20, 380, 380)) self.videoWidget.setAutoFillBackground(False) self.videoWidget.setObjectName("videoWidget") # # self.statusLabel.setGeometry(QtCore.QRect(1140, 580, 71, 31)) self.statusLabel.setScaledContents(False) self.statusLabel.setAlignment(QtCore.Qt.AlignCenter) self.statusLabel.setIndent(-1) self.statusLabel.setObjectName("statusLabel") self.statusTitle.setGeometry(QtCore.QRect(1090, 580, 61, 31)) self.statusTitle.setScaledContents(False) self.statusTitle.setAlignment(QtCore.Qt.AlignCenter) self.statusTitle.setIndent(-1) self.statusTitle.setObjectName("statusTitle") # # ZONE NEW self.zoneButton = QtWidgets.QPushButton(main) self.zoneButton.setGeometry(QtCore.QRect(110, 770, 291, 37)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(self.zoneButton.sizePolicy().hasHeightForWidth()) self.zoneButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.zoneButton.setFont(font) self.zoneButton.setObjectName("zoneButton") self.zoneButton.clicked.connect(self.select_zone) self.zoneButton.setEnabled(False) # self.outputdiButton = QtWidgets.QPushButton(main) # self.outputdiButton.setGeometry(QtCore.QRect(546, 482, 171, 41)) # sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) # sizePolicy.setHorizontalStretch(0) # sizePolicy.setVerticalStretch(0) # sizePolicy.setHeightForWidth(self.outputdiButton.sizePolicy().hasHeightForWidth()) # self.outputdiButton.setSizePolicy(sizePolicy) # font = QtGui.QFont() # font.setPointSize(10) # self.outputdiButton.setFont(font) # self.outputdiButton.setObjectName("outputdiButton") # self.outputdiText = QtWidgets.QTextEdit(main) # self.outputdiText.setGeometry(QtCore.QRect(730, 490, 481, 31)) # self.outputdiText.setObjectName("outputdiText") self.zoneLabel = QtWidgets.QLabel(main) self.zoneLabel.setGeometry(QtCore.QRect(20, 483, 480, 270)) self.zoneLabel.setFrameShape(QtWidgets.QFrame.Box) self.zoneLabel.setAlignment(QtCore.Qt.AlignCenter) self.zoneLabel.setObjectName("zoneLabel") # # self.retranslateUi(main) QtCore.QMetaObject.connectSlotsByName(main) # # self.mediaPlayer.setVideoOutput(self.videoWidget) # # # self.setGeometry(100, 100, 500, 300) # self.resize(self.image.width(), self.image.height()) # self.show() # # self.lastPoint = QPoint() self.startPoint = QPoint() self.drawing = False def retranslateUi(self, main): _translate = QtCore.QCoreApplication.translate main.setWindowTitle(_translate("main", "[FTP] Triple C System")) self.selectButton.setText(_translate("main", "Select Video")) self.heatmap.setText(_translate("main", "Heatmap")) self.counting.setText(_translate("main", "Counting People")) self.submitButton.setText(_translate("main", "Submit")) self.heatmapLabel.setText(_translate("main", "Heatmap")) self.statusLabel.setText(_translate("main", "Not Ready")) self.countingLabel.setText(_translate("main", "Counting People")) self.statusTitle.setText(_translate("main", "Status:")) self.beginTimeLabel.setText(_translate("main", "Begin Time:")) self.startTimeLabel.setText(_translate("main", "Start at:")) self.endTimeLabel.setText(_translate("main", "End at:")) self.beginTimeEdit.setDisplayFormat(_translate("main", "HH:mm:ss")) self.startTimeEdit.setDisplayFormat(_translate("main", "HH:mm:ss")) self.endTimeEdit.setDisplayFormat(_translate("main", "HH:mm:ss")) self.zoneButton.setText(_translate("main", "Zone Separate Analysis")) # self.outputdiButton.setText(_translate("main", "Output Directory")) self.zoneLabel.setText(_translate("main", "Zone Separate Analysis")) def abrir(self): global name_in selected_file, _ = QFileDialog.getOpenFileName(None, "Select a video", ".", "Video Files (*.mp4 *.flv *.ts *.mts *.avi *.mpg)") if selected_file != '': self.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(selected_file))) self.play() name_of_file = QFileInfo(selected_file).fileName() self.selected = name_of_file self.name_in = name_of_file if QFileInfo(selected_file).path() != QDir.currentPath(): shutil.copy(selected_file, os.getcwd() + "\\" + name_of_file) f = open("zone_position.txt", "w+") self.statusLabel.setText("Ready") self.submitButton.setEnabled(True) self.zoneButton.setEnabled(True) self.heatmapLabel.clear() self.heatmapLabel.setText("Heatmap") self.countingLabel.clear() self.countingLabel.setText("Counting people") clip = VideoFileClip(name_of_file) clip.save_frame("selected_zone.jpg", 1) w = self.zoneLabel.width() h = self.zoneLabel.height() pixmap = QPixmap("selected_zone.jpg") pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio) self.zoneLabel.setPixmap(pixmap) # self.select_zone() def play(self): self.mediaPlayer.play() def run_process(self): if (self.beginTimeEdit.time().toString() > self.startTimeEdit.time().toString()) or (self.beginTimeEdit.time().toString() > self.endTimeEdit.time().toString()): self.startTimeEdit.setTime(self.beginTimeEdit.time()) self.endTimeEdit.setTime(self.beginTimeEdit.time()) print(1) self.statusLabel.setText("Time Error") else: if self.startTimeEdit.time().toString() > self.endTimeEdit.time().toString(): self.endTimeEdit.setTime(self.startTimeEdit.time()) print(2) self.statusLabel.setText("Time Error") else: if (self.beginTimeEdit.time().toString() != self.endTimeEdit.time().toString()) or (self.startTimeEdit.time().toString() != self.endTimeEdit.time().toString()): self.write_time() self.statusLabel.setText("Converting") self.cut_video() self.statusLabel.setText("Processing") command = "conda activate yolov3 && python ftp_combine01.py --video " + self.name_in os.system(command) self.show_video() if self.heatmap.isChecked(): self.show_heatmap() if self.counting.isChecked(): self.show_counting() self.statusLabel.setText("Complete") self.selectButton.setEnabled(True) self.submitButton.setEnabled(False) def show_video(self): directory = QDir(os.getcwd()) directory.setFilter(QDir.Files | QDir.NoDotDot | QDir.NoDotAndDotDot) directory.setSorting(QDir.Time) set_filter = ["*.avi"] directory.setNameFilters(set_filter) for show in directory.entryInfoList(): print("%s %s" % (show.size(), show.fileName())) out = show.fileName() break # print(1) if self.zone_cutted: # print(2) x1, y1, x2, y2 = get_zone_position() clip = VideoFileClip(out) cut_video = crop(clip, x1, y1, x2, y2) name_of_file = QFileInfo(out).baseName() + "_zone.avi" cut_video.write_videofile(name_of_file, codec='mpeg4', audio=False) else: # print(3) name_of_file = out # print(4) self.mediaPlayer.setMedia( QMediaContent(QUrl.fromLocalFile(os.getcwd() + "\\" + name_of_file)) ) # print(5) # self.mediaPlayer.setPlaybackRate() self.play() # print(6) def show_heatmap(self): # print("a") directory = QDir(os.getcwd()) directory.setFilter(QDir.Files | QDir.NoDotDot | QDir.NoDotAndDotDot) directory.setSorting(QDir.Time) set_filter = ["*.jpg"] directory.setNameFilters(set_filter) # print("b") for show in directory.entryInfoList(): print("%s %s" % (show.size(), show.fileName())) if "heatmap" in show.fileName(): out = show.fileName() break # print("c") w = self.heatmapLabel.width() h = self.heatmapLabel.height() # print("d") # print("%r", self.zone_cutted) if self.zone_cutted: x1, y1, x2, y2 = get_zone_position() imageObject = Image.open(out) cropped = imageObject.crop((x1, y1, x2, y2)) name_of_file = QFileInfo(out).baseName() + "_zone.jpg" cropped.save(name_of_file) pixmap = QPixmap(name_of_file) else: pixmap = QPixmap(out) # print("e") pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio) self.heatmapLabel.setPixmap(pixmap) # print("f") def show_counting(self): directory = QDir(os.getcwd()) directory.setFilter(QDir.Files | QDir.NoDotDot | QDir.NoDotAndDotDot) directory.setSorting(QDir.Time) set_filter = ["*.jpg"] directory.setNameFilters(set_filter) for show in directory.entryInfoList(): print("%s %s" % (show.size(), show.fileName())) if "graph" in show.fileName(): out = show.fileName() break w = self.countingLabel.width() h = self.countingLabel.height() pixmap = QPixmap(out) pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio) self.countingLabel.setPixmap(pixmap) def cut_video(self): file = QFileInfo(self.selected).fileName() clip = VideoFileClip(file) starttime_hour = int(self.startTimeEdit.time().hour()) - int(self.beginTimeEdit.time().hour()) starttime_minute = int(self.startTimeEdit.time().minute()) - int(self.beginTimeEdit.time().minute()) starttime_second = int(self.startTimeEdit.time().second()) - int(self.beginTimeEdit.time().second()) endtime_hour = int(self.endTimeEdit.time().hour()) - int(self.beginTimeEdit.time().hour()) endtime_minute = int(self.endTimeEdit.time().minute()) - int(self.beginTimeEdit.time().minute()) endtime_second = int(self.endTimeEdit.time().second()) - int(self.beginTimeEdit.time().second()) cut_video = clip.subclip((starttime_hour, starttime_minute, starttime_second), (endtime_hour, endtime_minute, endtime_second)) # m = open('zone_position.txt', 'r').read() # lines = m.split('\n') # x = [] # y = [] # for line in lines: # if len(line) > 1: # x0, y0 = line.split(',') # x.append(x0) # y.append(y0) # x1 = x[0] # x2 = x[1] # y1 = y[0] # y2 = y[1] # # cut_video = crop(cut_video, x1, y1, x2, y2) name_of_file = QFileInfo(self.selected).baseName() + "_cut.avi" self.name_in = str(name_of_file) cut_video.write_videofile(name_of_file, codec='mpeg4', audio=False) def write_time(self): h = int(self.startTimeEdit.time().hour()) m = int(self.startTimeEdit.time().minute()) s = int(self.startTimeEdit.time().second()) x = "1970/01/01 " + str(h) + ":" + str(m) + ":" + str(s) x1 = str(h) + ":" + str(m) + ":" + str(s) fun = time.strptime(x, "%Y/%m/%d %H:%M:%S") y = calendar.timegm(fun) f = open("soul.txt", "w+") f.write("%s,%d\r\n" % (x1, y)) def select_zone(self): file = QFileInfo(self.selected).fileName() clip = VideoFileClip(file) clip.save_frame("selected_zone.jpg", 1) self.zone_cutted = True # self.image = QPixmap('cutzone.jpg') # self.zone_pic = self.image.scaled(self.image.size(), QtCore.Qt.KeepAspectRatio) # self.zoneLabel.setScaledContents(True) # self.zoneLabel.setPixmap(self.zone_pic) command = "python cut_zone.py" os.system(command) w = self.zoneLabel.width() h = self.zoneLabel.height() pixmap = QPixmap("cropped_zone.jpg") pixmap = pixmap.scaled(w, h, QtCore.Qt.KeepAspectRatio) # time.sleep(5) self.zoneLabel.setPixmap(pixmap)
class Ui_main(object): def setupUi(self, main): main.setObjectName("main") main.setWindowModality(QtCore.Qt.NonModal) main.resize(1230, 500) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Maximum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth(main.sizePolicy().hasHeightForWidth()) main.setSizePolicy(sizePolicy) main.setContextMenuPolicy(QtCore.Qt.NoContextMenu) main.setAcceptDrops(False) main.setAutoFillBackground(False) main.setModal(False) self.videoWidget = QVideoWidget(main) self.videoWidget.setGeometry(QtCore.QRect(20, 20, 380, 380)) self.videoWidget.setAutoFillBackground(False) self.videoWidget.setObjectName("videoWidget") self.heatmapLabel = QtWidgets.QLabel(main) self.heatmapLabel.setGeometry(QtCore.QRect(420, 20, 380, 380)) self.heatmapLabel.setFrameShape(QtWidgets.QFrame.Box) self.heatmapLabel.setAlignment(QtCore.Qt.AlignCenter) self.heatmapLabel.setObjectName("heatmapLabel") self.statusLabel = QtWidgets.QLabel(main) self.statusLabel.setGeometry(QtCore.QRect(1140, 460, 70, 30)) self.statusLabel.setScaledContents(False) self.statusLabel.setAlignment(QtCore.Qt.AlignCenter) self.statusLabel.setIndent(-1) self.statusLabel.setObjectName("statusLabel") self.countingLabel = QtWidgets.QLabel(main) self.countingLabel.setGeometry(QtCore.QRect(830, 20, 380, 380)) self.countingLabel.setFrameShape(QtWidgets.QFrame.Box) self.countingLabel.setAlignment(QtCore.Qt.AlignCenter) self.countingLabel.setObjectName("countingLabel") self.horizontalLayoutWidget_3 = QtWidgets.QWidget(main) self.horizontalLayoutWidget_3.setGeometry( QtCore.QRect(20, 420, 1191, 39)) self.horizontalLayoutWidget_3.setObjectName("horizontalLayoutWidget_3") self.buttonLayout = QtWidgets.QHBoxLayout( self.horizontalLayoutWidget_3) self.buttonLayout.setContentsMargins(0, 0, 0, 0) self.buttonLayout.setObjectName("buttonLayout") self.selectButton = QtWidgets.QPushButton( self.horizontalLayoutWidget_3) sizePolicy = QtWidgets.QSizePolicy( QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.MinimumExpanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.selectButton.sizePolicy().hasHeightForWidth()) self.selectButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.selectButton.setFont(font) self.selectButton.setObjectName("selectButton") self.buttonLayout.addWidget(self.selectButton) self.heatmap = QtWidgets.QCheckBox(self.horizontalLayoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.heatmap.sizePolicy().hasHeightForWidth()) self.heatmap.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.heatmap.setFont(font) self.heatmap.setObjectName("heatmap") self.buttonLayout.addWidget(self.heatmap) self.counting = QtWidgets.QCheckBox(self.horizontalLayoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.counting.sizePolicy().hasHeightForWidth()) self.counting.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.counting.setFont(font) self.counting.setObjectName("counting") self.buttonLayout.addWidget(self.counting) spacerItem = QtWidgets.QSpacerItem(600, 20, QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Minimum) self.buttonLayout.addItem(spacerItem) self.submitButton = QtWidgets.QPushButton( self.horizontalLayoutWidget_3) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.submitButton.sizePolicy().hasHeightForWidth()) self.submitButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.submitButton.setFont(font) self.submitButton.setObjectName("submitButton") self.buttonLayout.addWidget(self.submitButton) self.statusTitle = QtWidgets.QLabel(main) self.statusTitle.setGeometry(QtCore.QRect(1090, 460, 61, 31)) self.statusTitle.setScaledContents(False) self.statusTitle.setAlignment(QtCore.Qt.AlignCenter) self.statusTitle.setIndent(-1) self.statusTitle.setObjectName("statusTitle") self.retranslateUi(main) QtCore.QMetaObject.connectSlotsByName(main) def retranslateUi(self, main): _translate = QtCore.QCoreApplication.translate main.setWindowTitle(_translate("main", "[FTP] Triple C")) self.heatmapLabel.setText(_translate("main", "Heatmap")) self.statusLabel.setText(_translate("main", "Not Ready")) self.countingLabel.setText(_translate("main", "Counting People")) self.selectButton.setText(_translate("main", "Select Video")) self.heatmap.setText(_translate("main", "Heatmap")) self.counting.setText(_translate("main", "Counting People")) self.submitButton.setText(_translate("main", "Submit")) self.statusTitle.setText(_translate("main", "Status:"))
class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(676, 409) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.button_play_pause = QtWidgets.QPushButton(self.centralwidget) self.button_play_pause.setGeometry(QtCore.QRect(20, 290, 91, 31)) self.button_play_pause.setObjectName("button_play_pause") self.video_slider = QtWidgets.QSlider(self.centralwidget) self.video_slider.setGeometry(QtCore.QRect(110, 290, 281, 22)) self.video_slider.setOrientation(QtCore.Qt.Horizontal) self.video_slider.setObjectName("video_slider") self.video_widget = QVideoWidget(self.centralwidget) self.video_widget.setGeometry(QtCore.QRect(20, 50, 371, 231)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.video_widget.sizePolicy().hasHeightForWidth()) self.video_widget.setSizePolicy(sizePolicy) self.video_widget.setBaseSize(QtCore.QSize(50, 100)) self.video_widget.setObjectName("video_widget") self.label_info = QtWidgets.QTextBrowser(self.centralwidget) self.label_info.setGeometry(QtCore.QRect(410, 10, 256, 141)) self.label_info.setBaseSize(QtCore.QSize(50, 50)) self.label_info.setObjectName("label_info") self.button_load = QtWidgets.QPushButton(self.centralwidget) self.button_load.setGeometry(QtCore.QRect(310, 20, 80, 31)) self.button_load.setObjectName("button_load") self.file_info = QtWidgets.QTextBrowser(self.centralwidget) self.file_info.setGeometry(QtCore.QRect(20, 20, 291, 21)) self.file_info.setObjectName("file_info") self.original_video_widget = QVideoWidget(self.centralwidget) self.original_video_widget.setGeometry(QtCore.QRect( 410, 160, 251, 191)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.original_video_widget.sizePolicy().hasHeightForWidth()) self.original_video_widget.setSizePolicy(sizePolicy) self.original_video_widget.setBaseSize(QtCore.QSize(50, 100)) self.original_video_widget.setObjectName("original_video_widget") self.button_track = QtWidgets.QPushButton(self.centralwidget) self.button_track.setGeometry(QtCore.QRect(170, 340, 81, 31)) self.button_track.setObjectName("button_track") MainWindow.setCentralWidget(self.centralwidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.button_play_pause.setText(_translate("MainWindow", "Play/Pause")) self.button_load.setText(_translate("MainWindow", "Load")) self.file_info.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:\'.SF NS Text\'; 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=\" font-style:italic;\">No file loaded...</span></p></body></html>" )) self.button_track.setText(_translate("MainWindow", "Track"))
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 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 Window(QWidget): # конструктор формы def __init__(self): super().__init__() self._Client = Biometric_Client( url='https://expasoft.com', port=2133, subscription_key='9fc9474b4bd16b492276eee41763a3cb') self.resize(800, 600) self.setObjectName("FormMain") self.setWindowTitle("БиоСКУД Archivist") self.labelHumans = QtWidgets.QLabel(self) self.labelHumans.setObjectName("labelHumans") self.labelHumans.setText("Профили сотрудников") self.labelHumans.setGeometry(QtCore.QRect(80, 15, 181, 21)) font = QtGui.QFont() font.setPointSize(12) self.labelHumans.setFont(font) self.labelPhotos = QtWidgets.QLabel(self) self.labelPhotos.setObjectName("labelPhotos") self.labelPhotos.setText("Фото сотрудника") self.labelPhotos.setGeometry(QtCore.QRect(390, 15, 181, 21)) font = QtGui.QFont() font.setPointSize(12) self.labelPhotos.setFont(font) self.listViewHumans = QtWidgets.QListWidget(self) self.listViewHumans.setObjectName("listViewHumans") self.listViewHumans.setGeometry(QtCore.QRect(10, 50, 291, 531)) self.listViewHumans.setIconSize(QtCore.QSize(200, 200)) self.listViewHumans.itemClicked.connect(self.LoadProfile) self.listViewPhotos = QtWidgets.QListWidget(self) self.listViewPhotos.setObjectName("listViewPhotos") self.listViewPhotos.setGeometry(QtCore.QRect(310, 50, 291, 281)) self.listViewPhotos.setIconSize(QtCore.QSize(150, 150)) self.labelName = QLabel(self) self.labelName.setText("ФИО:") self.labelName.move(310, 355) self.lineName = QLineEdit(self) self.lineName.resize(140, 25) self.lineName.move(350, 350) self.labelTag = QLabel(self) self.labelTag.setText("Пост:") self.labelTag.move(310, 385) self.lineTag = QLineEdit(self) self.lineTag.resize(140, 25) self.lineTag.move(350, 380) self.pushButtonAddProfile = QtWidgets.QPushButton(self) self.pushButtonAddProfile.setGeometry(QtCore.QRect(310, 420, 181, 51)) self.pushButtonAddProfile.setObjectName("pushButtonAddProfile") self.pushButtonAddProfile.setText("Добавить профиль") self.pushButtonAddProfile.clicked.connect(self.AddProfile) self.pushButtonUpdateProfile = QtWidgets.QPushButton(self) self.pushButtonUpdateProfile.setGeometry( QtCore.QRect(310, 475, 181, 51)) self.pushButtonUpdateProfile.setObjectName("pushButtonAddProfile") self.pushButtonUpdateProfile.setText("Обновить профиль") self.pushButtonUpdateProfile.clicked.connect(self.UpdateProfile) self.pushButtonDelProfile = QtWidgets.QPushButton(self) self.pushButtonDelProfile.setGeometry(QtCore.QRect(310, 530, 181, 51)) self.pushButtonDelProfile.setObjectName("pushButtonDelProfile") self.pushButtonDelProfile.setText("Удалить профиль") self.pushButtonDelProfile.clicked.connect(self.DelProfile) self.CameraStream = QVideoWidget(self) self.CameraStream.setObjectName("videoCameraStream") self.CameraStream.setGeometry(QtCore.QRect(610, 25, 180, 200)) self.device = QCamera.availableDevices()[0] self.camera = QCamera(self.device) self.camera.setViewfinder(self.CameraStream) self.camera.setCaptureMode(QCamera.CaptureStillImage) self.imageCapture = QCameraImageCapture(self.camera) self.imageCapture.imageSaved.connect(self.AddPhotoEnd) self.camera.start() self.pushButtonAddPhoto = QtWidgets.QPushButton(self) self.pushButtonAddPhoto.setObjectName("pushButtonAddPhoto") self.pushButtonAddPhoto.setText("Добавить фото") self.pushButtonAddPhoto.setGeometry(QtCore.QRect(610, 225, 181, 51)) self.pushButtonAddPhoto.clicked.connect(self.AddPhotoBegin) self.pushButtonDelPhoto = QtWidgets.QPushButton(self) self.pushButtonDelPhoto.setObjectName("pushButtonDelPhoto") self.pushButtonDelPhoto.setText("Удалить фото") self.pushButtonDelPhoto.setGeometry(QtCore.QRect(610, 280, 181, 51)) self.pushButtonDelPhoto.clicked.connect(self.DelPhoto) self.LoadProfiles() # загружаем список сотрудников def LoadProfiles(self): self.listViewHumans.clear() AllProfiles = self._Client.get_profiles_ids()['result'] if len(AllProfiles) != 0: for profile in AllProfiles: item = QtWidgets.QListWidgetItem() #item.setText(str(profile)) if (GetInfo(str(profile)) != None): item.setText(GetInfo(str(profile))["name"]) item.setToolTip(str(profile)) AllPhoto = self._Client.get_profile_images_ids( profile)['result'] if len(AllPhoto) != 0: FileName = "img/" + str(profile) + '-' + str( AllPhoto[0]) + '.jpg' self._Client.get_profile_image(profile, AllPhoto[0], FileName) item.setIcon(QtGui.QIcon(FileName)) self.listViewHumans.addItem(item) # загружаем профиль def LoadProfile(self, item): self.listViewPhotos.clear() #idProfile = int(item.text()) idProfile = int(item.toolTip()) AllPhoto = self._Client.get_profile_images_ids(idProfile)['result'] for photo in AllPhoto: FileName = "img/" + str(idProfile) + '-' + str(photo) + '.jpg' self._Client.get_profile_image(idProfile, photo, FileName) item = QtWidgets.QListWidgetItem() item.setText(str(photo)) item.setIcon(QtGui.QIcon(FileName)) self.listViewPhotos.addItem(item) infoProfile = JsonDataBase.GetInfo(idProfile) if infoProfile != None: self.lineName.setText(infoProfile['name']) self.lineTag.setText(infoProfile['tag']) else: self.lineName.setText("") self.lineTag.setText("") # добавляем профиль def AddProfile(self): profile_name = self.lineName.text() profile_post = self.lineTag.text() Id_Profile = self._Client.add_profile(profile_name, '01.01.1111', 'm', tags="").pop('result') JsonDataBase.AddInfo(Id_Profile, profile_name, '01.01.1111', "m", profile_post) self.LoadProfiles() # обновляем профиль def UpdateProfile(self): Id_Profile = self.listViewHumans.currentItem().toolTip() profile_name = self.lineName.text() profile_post = self.lineTag.text() if (JsonDataBase.GetInfo(Id_Profile) != None): JsonDataBase.UpdateInfo(Id_Profile, name=profile_name, tag=profile_post) else: JsonDataBase.AddInfo(Id_Profile, name=profile_name, tag=profile_post) self.LoadProfiles() # удаляем профиль def DelProfile(self): Id_Profile = self.listViewHumans.currentItem().toolTip() self._Client.delete_profile(Id_Profile) JsonDataBase.DelInfo(Id_Profile) self.LoadProfiles() # добавляем фото def AddPhotoBegin(self): if self.imageCapture.isReadyForCapture(): imgName = os.getcwd() + "\img\currentPhoto.jpg" self.camera.searchAndLock() self.imageCapture.capture(imgName) self.camera.unlock() def AddPhotoEnd(self): print(0) imgName = os.getcwd() + "\img\currentPhoto.jpg" imgName0 = os.getcwd() + "\img\currentPhoto0.jpg" idProfile = int(self.listViewHumans.currentItem().toolTip()) self._Client.get_aligned_faces(imgName, "img\currentPhoto") self._Client.enroll_profile_face(idProfile, imgName0) self.LoadProfile(self.listViewHumans.currentItem()) # удаляем фото def DelPhoto(self): #Id_Profile = self.listViewHumans.currentItem().text() Id_Profile = self.listViewHumans.currentItem().toolTip() Id_Photo = self.listViewPhotos.currentItem().text() self._Client.delete_image(Id_Profile, Id_Photo) self.LoadProfile(self.listViewHumans.currentItem())
class Ui_Dialog(object): NAME, PATH, TYPE, PARAM, TIME = range(5) def setupUi(self, Dialog): Dialog.setObjectName("Dialog") Dialog.resize(1666, 900) self.treeView = QtWidgets.QTreeView(Dialog) self.treeView.setGeometry(QtCore.QRect(50, 60, 1561, 191)) self.treeView.setObjectName("treeView") self.label = QtWidgets.QLabel(Dialog) self.label.setGeometry(QtCore.QRect(50, 280, 720, 405)) font = QtGui.QFont() font.setPointSize(12) self.label.setFont(font) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.label_2 = QtWidgets.QLabel(Dialog) self.label_2.setGeometry(QtCore.QRect(890, 280, 720, 405)) self.wgt_video_1 = QVideoWidget(Dialog) self.wgt_video_1.setGeometry(QtCore.QRect(50, 280, 720, 405)) self.player_1 = QMediaPlayer() self.player_1.setVideoOutput(self.wgt_video_1) self.wgt_video_1.setObjectName("widget") self.wgt_video_2 = QVideoWidget(Dialog) self.wgt_video_2.setGeometry(QtCore.QRect(890, 280, 720, 405)) self.player_2 = QMediaPlayer() self.player_2.setVideoOutput(self.wgt_video_2) self.wgt_video_2.setObjectName("widget") font = QtGui.QFont() font.setPointSize(12) self.label_2.setFont(font) self.label_2.setAlignment(QtCore.Qt.AlignCenter) self.label_2.setObjectName("label_2") self.groupBox = QtWidgets.QGroupBox(Dialog) self.groupBox.setGeometry(QtCore.QRect(50, 710, 1561, 151)) font = QtGui.QFont() font.setPointSize(12) self.groupBox.setFont(font) self.groupBox.setObjectName("groupBox") self.label_4 = QtWidgets.QLabel(self.groupBox) self.label_4.setGeometry(QtCore.QRect(20, 30, 1521, 111)) self.label_4.setObjectName("label_4") self.label_3 = QtWidgets.QLabel(Dialog) self.label_3.setGeometry(QtCore.QRect(50, 20, 361, 31)) font = QtGui.QFont() font.setPointSize(12) font.setBold(True) font.setWeight(75) self.label_3.setFont(font) self.label_3.setObjectName("label_3") self.pushButton = QtWidgets.QPushButton(Dialog) self.pushButton.setGeometry(QtCore.QRect(780, 280, 101, 31)) font = QtGui.QFont() font.setPointSize(10) self.pushButton.setFont(font) self.pushButton.setObjectName("pushButton") self.pushButton_2 = QtWidgets.QPushButton(Dialog) self.pushButton_2.setGeometry(QtCore.QRect(780, 320, 51, 31)) self.pushButton_2.setObjectName("pushButton_2") self.pushButton_3 = QtWidgets.QPushButton(Dialog) self.pushButton_3.setGeometry(QtCore.QRect(830, 320, 51, 31)) self.pushButton_3.setObjectName("pushButton_3") self.pushButton_5 = QtWidgets.QPushButton(Dialog) self.pushButton_5.setGeometry(QtCore.QRect(780, 320, 51, 31)) self.pushButton_5.setObjectName("pushButton_2") self.pushButton_6 = QtWidgets.QPushButton(Dialog) self.pushButton_6.setGeometry(QtCore.QRect(830, 320, 51, 31)) self.pushButton_6.setObjectName("pushButton_3") self.pushButton_4 = QtWidgets.QPushButton(Dialog) self.pushButton_4.setGeometry(QtCore.QRect(780, 360, 101, 31)) font = QtGui.QFont() font.setPointSize(10) self.pushButton_4.setFont(font) self.pushButton_4.setObjectName("pushButton_4") self.retranslateUi(Dialog) QtCore.QMetaObject.connectSlotsByName(Dialog) def retranslateUi(self, Dialog): _translate = QtCore.QCoreApplication.translate Dialog.setWindowTitle(_translate("Dialog", "Dialog")) self.label.setText(_translate("Dialog", "原始图像")) self.label_2.setText(_translate("Dialog", "检测结果")) self.groupBox.setTitle(_translate("Dialog", "参数信息")) self.label_3.setText(_translate("Dialog", "用户XXX历史检测结果")) self.label_4.setText( _translate("Dialog", "准确率:-;召回率:-;学习率:-;训练步数:-;损失:-;参数发行日期:-;")) self.pushButton.setText(_translate("Dialog", "删除记录")) self.pushButton_2.setText(_translate("Dialog", "放大")) self.pushButton_3.setText(_translate("Dialog", "放大")) self.pushButton_4.setText(_translate("Dialog", "播放")) self.pushButton_5.setText(_translate("Dialog", "放大")) self.pushButton_6.setText(_translate("Dialog", "放大")) def createHistoryModel(self, parent): model = QStandardItemModel(0, 5, parent) model.setHeaderData(self.NAME, Qt.Horizontal, "原文件名") model.setHeaderData(self.PATH, Qt.Horizontal, "所在路径") model.setHeaderData(self.TYPE, Qt.Horizontal, "文件类型") model.setHeaderData(self.PARAM, Qt.Horizontal, "参数文件") model.setHeaderData(self.TIME, Qt.Horizontal, "检测时间") return model def add_history(self, model, name, path, type, param, time): model.insertRow(0) model.setData(model.index(0, self.NAME), name) model.setData(model.index(0, self.PATH), path) model.setData(model.index(0, self.TYPE), type) model.setData(model.index(0, self.PARAM), param) model.setData(model.index(0, self.TIME), time) def get_param_info(self, ap, ar, lr, epoch, loss, time): self.label_4.setText("准确率:%s;召回率:%s;学习率:%s;训练步数:%s;损失:%s;参数发行日期:%s;" % (ap, ar, lr, epoch, loss, time))
class Ui_Form(object): def setupUi(self, Form): Form.setObjectName("Form") Form.resize(1020, 885) self.groupBox = QtWidgets.QGroupBox(Form) self.groupBox.setGeometry(QtCore.QRect(0, 630, 631, 71)) self.groupBox.setObjectName("groupBox") self.label = QtWidgets.QLabel(self.groupBox) self.label.setGeometry(QtCore.QRect(10, 30, 24, 16)) self.label.setObjectName("label") self.cutStartTime = QtWidgets.QLineEdit(self.groupBox) self.cutStartTime.setGeometry(QtCore.QRect(50, 30, 150, 20)) self.cutStartTime.setObjectName("cutStartTime") self.cutEndTime = QtWidgets.QLineEdit(self.groupBox) self.cutEndTime.setGeometry(QtCore.QRect(290, 30, 150, 20)) self.cutEndTime.setObjectName("cutEndTime") self.label_2 = QtWidgets.QLabel(self.groupBox) self.label_2.setGeometry(QtCore.QRect(260, 30, 18, 16)) self.label_2.setObjectName("label_2") self.cutButton = QtWidgets.QPushButton(self.groupBox) self.cutButton.setGeometry(QtCore.QRect(500, 30, 75, 23)) self.cutButton.setObjectName("cutButton") self.widget = QVideoWidget(Form) self.widget.setGeometry(QtCore.QRect(40, 70, 900, 500)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.widget.sizePolicy().hasHeightForWidth()) self.widget.setSizePolicy(sizePolicy) self.widget.setObjectName("widget") self.playButton = QtWidgets.QPushButton(Form) self.playButton.setGeometry(QtCore.QRect(0, 570, 40, 40)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.playButton.sizePolicy().hasHeightForWidth()) self.playButton.setSizePolicy(sizePolicy) self.playButton.setText("") self.playButton.setObjectName("playButton") self.horizontalSlider = QtWidgets.QSlider(Form) self.horizontalSlider.setEnabled(True) self.horizontalSlider.setGeometry(QtCore.QRect(40, 580, 900, 25)) self.horizontalSlider.setOrientation(QtCore.Qt.Horizontal) self.horizontalSlider.setObjectName("horizontalSlider") self.timeLcd = QtWidgets.QLCDNumber(Form) self.timeLcd.setGeometry(QtCore.QRect(940, 580, 80, 23)) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.timeLcd.sizePolicy().hasHeightForWidth()) self.timeLcd.setSizePolicy(sizePolicy) self.timeLcd.setObjectName("timeLcd") self.OpenButton = QtWidgets.QPushButton(Form) self.OpenButton.setGeometry(QtCore.QRect(0, 0, 81, 41)) self.OpenButton.setObjectName("OpenButton") self.groupBox_2 = QtWidgets.QGroupBox(Form) self.groupBox_2.setGeometry(QtCore.QRect(650, 630, 361, 71)) self.groupBox_2.setObjectName("groupBox_2") self.mirror_xButton = QtWidgets.QPushButton(self.groupBox_2) self.mirror_xButton.setGeometry(QtCore.QRect(60, 30, 75, 23)) self.mirror_xButton.setObjectName("mirror_xButton") self.mirror_yButton = QtWidgets.QPushButton(self.groupBox_2) self.mirror_yButton.setGeometry(QtCore.QRect(220, 30, 75, 23)) self.mirror_yButton.setObjectName("mirror_yButton") self.groupBox_3 = QtWidgets.QGroupBox(Form) self.groupBox_3.setGeometry(QtCore.QRect(0, 730, 421, 101)) self.groupBox_3.setObjectName("groupBox_3") self.speed_line = QtWidgets.QLineEdit(self.groupBox_3) self.speed_line.setGeometry(QtCore.QRect(140, 40, 113, 20)) self.speed_line.setObjectName("speed_line") self.label_3 = QtWidgets.QLabel(self.groupBox_3) self.label_3.setGeometry(QtCore.QRect(10, 40, 111, 16)) self.label_3.setObjectName("label_3") self.speedButton = QtWidgets.QPushButton(self.groupBox_3) self.speedButton.setGeometry(QtCore.QRect(280, 40, 101, 23)) self.speedButton.setObjectName("speedButton") self.groupBox_4 = QtWidgets.QGroupBox(Form) self.groupBox_4.setGeometry(QtCore.QRect(540, 730, 191, 101)) self.groupBox_4.setObjectName("groupBox_4") self.blackwhiteButton = QtWidgets.QPushButton(self.groupBox_4) self.blackwhiteButton.setGeometry(QtCore.QRect(40, 30, 101, 21)) self.blackwhiteButton.setObjectName("blackwhiteButton") self.saveButton = QtWidgets.QPushButton(Form) self.saveButton.setGeometry(QtCore.QRect(950, 0, 71, 41)) self.saveButton.setObjectName("saveButton") self.redoButton = QtWidgets.QPushButton(Form) self.redoButton.setGeometry(QtCore.QRect(870, 0, 41, 41)) self.redoButton.setText("") self.redoButton.setObjectName("redoButton") self.undoButton = QtWidgets.QPushButton(Form) self.undoButton.setGeometry(QtCore.QRect(810, 0, 41, 41)) self.undoButton.setText("") self.undoButton.setObjectName("undoButton") self.retranslateUi(Form) QtCore.QMetaObject.connectSlotsByName(Form) def retranslateUi(self, Form): _translate = QtCore.QCoreApplication.translate Form.setWindowTitle(_translate("Form", "Form")) self.groupBox.setTitle(_translate("Form", "Cut")) self.label.setText(_translate("Form", "Start")) self.label_2.setText(_translate("Form", "End")) self.cutButton.setText(_translate("Form", "Cut")) self.OpenButton.setText(_translate("Form", "Open")) self.groupBox_2.setTitle(_translate("Form", "Mirror video")) self.mirror_xButton.setText(_translate("Form", "Mirror x")) self.mirror_yButton.setText(_translate("Form", "Mirror y")) self.groupBox_3.setTitle(_translate("Form", "Change speed")) self.label_3.setText(_translate("Form", "Coefficient of speed")) self.speedButton.setText(_translate("Form", "Change speed")) self.groupBox_4.setTitle(_translate("Form", "Blackwhite filter")) self.blackwhiteButton.setText(_translate("Form", "Apply filter")) self.saveButton.setText(_translate("Form", "Save"))
class Ui_main(object): def setupUi(self, main): main.setObjectName("main") main.resize(1024, 768) main.setContextMenuPolicy(QtCore.Qt.NoContextMenu) main.setAcceptDrops(False) main.setAutoFillBackground(False) self.verticalLayoutWidget = QtWidgets.QWidget(main) self.verticalLayoutWidget.setGeometry(QtCore.QRect(0, 10, 1021, 80)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.titleLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.titleLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize) self.titleLayout.setContentsMargins(0, 0, 0, 0) self.titleLayout.setSpacing(0) self.titleLayout.setObjectName("titleLayout") self.title = QtWidgets.QLabel(self.verticalLayoutWidget) self.title.setEnabled(True) font = QtGui.QFont() font.setPointSize(26) font.setBold(True) font.setWeight(75) self.title.setFont(font) self.title.setTextFormat(QtCore.Qt.AutoText) self.title.setAlignment(QtCore.Qt.AlignCenter) self.title.setObjectName("title") self.titleLayout.addWidget(self.title) self.verticalLayoutWidget_2 = QtWidgets.QWidget(main) self.verticalLayoutWidget_2.setGeometry(QtCore.QRect( 50, 130, 371, 271)) self.verticalLayoutWidget_2.setObjectName("verticalLayoutWidget_2") self.menuLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget_2) self.menuLayout.setSizeConstraint(QtWidgets.QLayout.SetMaximumSize) self.menuLayout.setContentsMargins(0, 0, 0, 0) self.menuLayout.setSpacing(0) self.menuLayout.setObjectName("menuLayout") self.selectButton = QtWidgets.QPushButton(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.selectButton.sizePolicy().hasHeightForWidth()) self.selectButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.selectButton.setFont(font) self.selectButton.setObjectName("selectButton") self.menuLayout.addWidget(self.selectButton) self.heatmap = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.heatmap.sizePolicy().hasHeightForWidth()) self.heatmap.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.heatmap.setFont(font) self.heatmap.setObjectName("heatmap") self.menuLayout.addWidget(self.heatmap) self.movementline = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.movementline.sizePolicy().hasHeightForWidth()) self.movementline.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.movementline.setFont(font) self.movementline.setObjectName("movementline") self.menuLayout.addWidget(self.movementline) self.movementheatmap = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.movementheatmap.sizePolicy().hasHeightForWidth()) self.movementheatmap.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.movementheatmap.setFont(font) self.movementheatmap.setObjectName("movementheatmap") self.menuLayout.addWidget(self.movementheatmap) self.counting = QtWidgets.QCheckBox(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.counting.sizePolicy().hasHeightForWidth()) self.counting.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(12) self.counting.setFont(font) self.counting.setObjectName("counting") self.menuLayout.addWidget(self.counting) self.submitButton = QtWidgets.QPushButton(self.verticalLayoutWidget_2) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding) sizePolicy.setHorizontalStretch(0) sizePolicy.setVerticalStretch(0) sizePolicy.setHeightForWidth( self.submitButton.sizePolicy().hasHeightForWidth()) self.submitButton.setSizePolicy(sizePolicy) font = QtGui.QFont() font.setPointSize(10) self.submitButton.setFont(font) self.submitButton.setObjectName("submitButton") self.menuLayout.addWidget(self.submitButton) self.showWidget = QVideoWidget(main) self.showWidget.setGeometry(QtCore.QRect(500, 130, 480, 270)) self.showWidget.setAutoFillBackground(False) self.showWidget.setObjectName("showWidget") self.widget_2 = QVideoWidget(main) self.widget_2.setGeometry(QtCore.QRect(500, 450, 480, 270)) self.widget_2.setAutoFillBackground(False) self.widget_2.setObjectName("widget_2") self.horizontalLayoutWidget = QtWidgets.QWidget(main) self.horizontalLayoutWidget.setGeometry(QtCore.QRect( 670, 400, 171, 51)) self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") self.peopleBox = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget) self.peopleBox.setContentsMargins(0, 0, 0, 0) self.peopleBox.setObjectName("peopleBox") self.peopleNo = QtWidgets.QLCDNumber(self.horizontalLayoutWidget) self.peopleNo.setFrameShape(QtWidgets.QFrame.NoFrame) self.peopleNo.setSmallDecimalPoint(False) self.peopleNo.setSegmentStyle(QtWidgets.QLCDNumber.Filled) self.peopleNo.setObjectName("peopleNo") self.peopleBox.addWidget(self.peopleNo) self.peopleLabel = QtWidgets.QLabel(self.horizontalLayoutWidget) font = QtGui.QFont() font.setPointSize(11) self.peopleLabel.setFont(font) self.peopleLabel.setAlignment(QtCore.Qt.AlignCenter) self.peopleLabel.setObjectName("peopleLabel") self.peopleBox.addWidget(self.peopleLabel) self.retranslateUi(main) QtCore.QMetaObject.connectSlotsByName(main) def retranslateUi(self, main): _translate = QtCore.QCoreApplication.translate main.setWindowTitle(_translate("main", "Dialog")) self.title.setText(_translate("main", "[FTP] CCC System Beta")) self.selectButton.setText(_translate("main", "Select Video")) self.heatmap.setText(_translate("main", "Heatmap")) self.movementline.setText(_translate("main", "Movement line")) self.movementheatmap.setText(_translate("main", "Movement heatmap")) self.counting.setText(_translate("main", "Counting people")) self.submitButton.setText(_translate("main", "Submit")) self.peopleLabel.setText(_translate("main", "People"))
class Ui_ShadowRCNN(QWidget): def login(self, Dialog): self.login_dialog = login.Ui_Dialog() self.login_dialog.setupUi(Dialog) self.login_dialog.pushButton.clicked.connect( lambda: self.login_operation(Dialog)) self.login_dialog.toolButton.clicked.connect(self.open_path) def open_path(self): param_path, _ = QFileDialog.getOpenFileName(QWidget(), "选择文件", "../param", "*.pth;;;All Files(*)") if param_path != '': self.login_dialog.lineEdit_3.setText(param_path) ######TODO 自定义参数的数据库连接 def login_operation(self, Dialog): global RCNN_PATH success = False error = '' self.is_guest = False self.user_name = 'guest' self.user_id = -1 self.param_id = 1 if self.login_dialog.radioButton_2.isChecked(): self.is_guest = True self.user_name = '游客' success = True if self.login_dialog.radioButton.isChecked(): username = self.login_dialog.lineEdit.text() password = self.login_dialog.lineEdit_2.text() if username.strip() == '' or password.strip() == '': error = 'blank' else: results = db_select('select * from tb_user') for result in results: if username == result[1]: if password == result[2]: self.user_name = username self.user_id = result[0] success = True break else: error = 'wrong' break if not success and error == '': sql = 'insert into tb_user(username, password)values("%s", "%s")' % ( username, password) db_insert(sql) msg = QMessageBox.information(self, '提示', '已为您自动注册用户名%s' % username, QMessageBox.Ok, QMessageBox.Ok) self.user_name = username sql = 'select * from tb_user order by user_id desc limit 1' results = db_select(sql) for result in results: self.user_id = result[0] print(self.user_id) success = True if success: global IMAGE_PATH global VIDEO_PATH IMAGE_PATH = os.path.join(IMAGE_PATH, self.user_name) VIDEO_PATH = os.path.join(VIDEO_PATH, self.user_name) if not os.path.exists(IMAGE_PATH): os.makedirs(IMAGE_PATH) if not os.path.exists(VIDEO_PATH): os.makedirs(VIDEO_PATH) if self.login_dialog.lineEdit_3.text() != '默认参数': RCNN_PATH = self.login_dialog.lineEdit_3.text() Dialog.close() self.main_window = QMainWindow() self.setupUi(self.main_window) self.main_window.show() else: if error == 'blank': msg = QMessageBox.warning(self, '提示', '请输入正确的用户名与密码!', QMessageBox.Ok, QMessageBox.Ok) elif error == 'wrong': msg = QMessageBox.warning(self, '提示', '用户名或密码错误!', QMessageBox.Ok, QMessageBox.Ok) def setupUi(self, ShadowRCNN): ShadowRCNN.setObjectName("ShadowRCNN") ShadowRCNN.resize(1666, 900) self.centralwidget = QtWidgets.QWidget(ShadowRCNN) self.centralwidget.setObjectName("centralwidget") self.label = QtWidgets.QLabel(self.centralwidget) self.label.setGeometry(QtCore.QRect(190, 40, 1280, 720)) self.label.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor)) self.label.setAlignment(QtCore.Qt.AlignCenter) self.label.setObjectName("label") self.label.setStyleSheet( "QLabel{background:white;}" "QLabel{color:rgb(300,300,300,120);font-size:20px;font-weight:bold;}" ) self.label_name = QtWidgets.QLabel(self.centralwidget) self.label_name.setGeometry(QtCore.QRect(10, 5, 200, 40)) self.label_name.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor)) self.label_name.setObjectName("label") self.label_name.setStyleSheet( "QLabel{color:rgb(300,300,300,120);font-size:20px;font-weight:bold;}" ) self.wgt_video = QVideoWidget(self.centralwidget) self.wgt_video.setGeometry(QtCore.QRect(190, 40, 1280, 720)) self.player = QMediaPlayer() self.player.setVideoOutput(self.wgt_video) self.wgt_video.hide() self.wgt_video.setObjectName("widget") self.pushButton_play = QtWidgets.QPushButton(self.centralwidget) self.pushButton_play.setVisible(False) self.pushButton_play.setGeometry(QtCore.QRect(1513, 40, 80, 41)) self.pushButton_play.setObjectName("pushButton") self.video_is_play = False self.pushButton_play.clicked.connect(self.video_play_change) self.pushButton = QtWidgets.QPushButton(self.centralwidget) self.pushButton.setGeometry(QtCore.QRect(100, 790, 161, 41)) self.pushButton.setObjectName("pushButton") self.pushButton.clicked.connect(self.open_image) self.pushButton1 = QtWidgets.QPushButton(self.centralwidget) self.pushButton1.setGeometry(QtCore.QRect(883, 790, 161, 41)) self.pushButton1.setObjectName("pushButton") self.pushButton1.clicked.connect(self.predict) self.pushButton_camera = QtWidgets.QPushButton(self.centralwidget) self.pushButton_camera.setGeometry(QtCore.QRect(622, 790, 161, 41)) self.pushButton_camera.setObjectName("pushButton") self.pushButton_camera.clicked.connect(self.camera) self.check_continue = QtWidgets.QCheckBox(self.centralwidget) self.check_continue.setGeometry(QtCore.QRect(622, 825, 100, 41)) self.check_continue.setObjectName("checkButton") self.check_continue.stateChanged.connect(self.continue_camera) self.label1 = QtWidgets.QLabel(self.centralwidget) self.label1.setGeometry(QtCore.QRect(720, 825, 30, 41)) self.label1.setObjectName("label") self.line_second = QtWidgets.QLineEdit(self.centralwidget) self.line_second.setGeometry(QtCore.QRect(752, 834, 20, 20)) self.line_second.setObjectName("lineEdit") self.line_second.setEnabled(False) self.label2 = QtWidgets.QLabel(self.centralwidget) self.label2.setGeometry(QtCore.QRect(774, 825, 30, 41)) self.label2.setObjectName("label") self.pushButton_video = QtWidgets.QPushButton(self.centralwidget) self.pushButton_video.setGeometry(QtCore.QRect(361, 790, 161, 41)) self.pushButton_video.setObjectName("pushButton") self.pushButton_video.clicked.connect(self.open_video) self.pushButton_delete = QtWidgets.QPushButton(self.centralwidget) self.pushButton_delete.setGeometry(QtCore.QRect(1144, 790, 161, 41)) self.pushButton_delete.setObjectName("pushButton") self.pushButton_delete.clicked.connect(self.delete) self.pushButton_history = QtWidgets.QPushButton(self.centralwidget) self.pushButton_history.setGeometry(QtCore.QRect(1405, 790, 161, 41)) self.pushButton_history.setObjectName("pushButton") self.pushButton_history.clicked.connect(self.history) ShadowRCNN.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(ShadowRCNN) self.menubar.setGeometry(QtCore.QRect(0, 0, 1600, 26)) self.menubar.setAutoFillBackground(False) self.menubar.setObjectName("menubar") ShadowRCNN.setMenuBar(self.menubar) self.statusbar = QtWidgets.QStatusBar(ShadowRCNN) self.statusbar.setObjectName("statusbar") ShadowRCNN.setStatusBar(self.statusbar) self.timer = QTimer() self.retranslateUi(ShadowRCNN) if self.is_guest: self.pushButton_delete.setEnabled(False) self.pushButton_history.setEnabled(False) QtCore.QMetaObject.connectSlotsByName(ShadowRCNN) def retranslateUi(self, ShadowRCNN): _translate = QtCore.QCoreApplication.translate ShadowRCNN.setWindowTitle(_translate("ShadowRCNN", "ShadowRCNN")) self.label.setText(_translate("ShadowRCNN", "请选择图片")) self.pushButton.setText(_translate("ShadowRCNN", "选择图片")) self.pushButton1.setText(_translate("ShadowRCNN", "开始预测")) self.pushButton_play.setText(_translate("ShadowRCNN", "暂停")) self.pushButton_camera.setText(_translate("ShadowRCNN", "拍摄照片")) self.pushButton_video.setText(_translate("ShadowRCNN", "选择视频")) self.pushButton_delete.setText(_translate("ShadowRCNN", "删除缓存")) self.pushButton_history.setText(_translate("ShadowRCNN", "历史信息")) self.check_continue.setText(_translate("ShadowRCNN", "连拍模式")) self.label1.setText(_translate("ShadowRCNN", "每秒")) self.line_second.setText(_translate("ShadowRCNN", "1")) self.label2.setText(_translate("ShadowRCNN", "张")) self.label_name.setText( _translate("ShadowRCNN", "欢迎使用," + self.user_name)) def open_image(self): self.image_choose_dialog = media_dialog(media_type='图片') self.image_choose_dialog.show() self.image_choose_dialog._signal.connect(self.get_image) def get_image(self, imgName): self.label.clear() self.player.setMedia(QMediaContent()) self.wgt_video.hide() self.label.show() self.pushButton_play.setVisible(False) jpg = QtGui.QPixmap(imgName).scaled(self.label.width(), self.label.height()) if imgName != '': self.label.setPixmap(jpg) self.statusbar.showMessage('当前图片:' + imgName) PARAMS['imgPath'] = imgName self.image_choose_dialog.close() def ARP_predict(self, mode='image'): shadow_write_path, shadow_write_name = os.path.split(PARAMS['imgPath']) shadow_write_name = shadow_write_name.split('.')[0] + '_shadow_' \ + datetime.datetime.now().strftime('%Y%m%d%H%M%S') + '.' \ + shadow_write_name.split('.')[1] self.shadow_write_path = os.path.join(shadow_write_path, shadow_write_name) print(self.shadow_write_path) if mode == 'image': manager = multiprocessing.Manager() return_dict = manager.dict() p = multiprocessing.Process(target=ARP_predict, args=(return_dict, PARAMS['imgPath'], ARP_MODEL_NAME, ARP_PATH, SHADOW_PERCENT)) p.start() p.join() PARAMS['ARP_result'] = return_dict.values()[0] cv2.imwrite(self.shadow_write_path, PARAMS['ARP_result']) if 'shadow_write_path' not in PARAMS.keys(): PARAMS['shadow_write_path'] = [] PARAMS['shadow_write_path'].append(self.shadow_write_path) PARAMS['all_file_path'].append(self.shadow_write_path) elif mode == 'video': manager = multiprocessing.Manager() return_dict = manager.dict() p = multiprocessing.Process( target=ARP_predict, args=(return_dict, PARAMS['imgPath'], ARP_MODEL_NAME, ARP_PATH, SHADOW_PERCENT, 'video', self.shadow_write_path)) p.start() p.join() PARAMS['all_file_path'].append(self.shadow_write_path) def rcnn_predict(self, mode='image'): rcnn_write_path, rcnn_write_name = os.path.split(PARAMS['imgPath']) rcnn_write_name = rcnn_write_name.split('.')[0] + '_rcnn_' \ + datetime.datetime.now().strftime('%Y%m%d%H%M%S') \ + '.' + rcnn_write_name.split('.')[1] self.rcnn_write_path = os.path.join(rcnn_write_path, rcnn_write_name) print(self.rcnn_write_path) if mode == 'image': manager = multiprocessing.Manager() return_dict = manager.dict() p = multiprocessing.Process(target=rcnn_predict, args=(return_dict, PARAMS['ARP_result'], False, RCNN_PATH)) p.start() p.join() PARAMS['RCNN_result'] = return_dict.values()[0] if PARAMS['RCNN_result'] is not None: cv2.imwrite(self.rcnn_write_path, PARAMS['RCNN_result']) if 'rcnn_write_path' not in PARAMS.keys(): PARAMS['rcnn_write_path'] = [] PARAMS['rcnn_write_path'].append(self.rcnn_write_path) PARAMS['all_file_path'].append(self.rcnn_write_path) jpg = QtGui.QPixmap(self.rcnn_write_path).scaled( self.label.width(), self.label.height()) self.label.setPixmap(jpg) elif mode == 'video': manager = multiprocessing.Manager() return_dict = manager.dict() p = multiprocessing.Process( target=rcnn_predict, args=(return_dict, self.shadow_write_path, False, RCNN_PATH, 'video', self.rcnn_write_path)) p.start() p.join() PARAMS['all_file_path'].append(self.rcnn_write_path) self.player.setMedia( QMediaContent(QUrl.fromLocalFile(self.rcnn_write_path))) self.player.play() self.video_is_play = True self.pushButton_play.setText('暂停') if not self.is_guest: sql = 'insert into tb_record(path,shadow,type,user_id,param_id,time)values("%s","%s","%s",%s,%s,"%s")' \ % (str(self.rcnn_write_path).replace('\\', '/'), str(self.shadow_write_path).replace('\\', '/'), mode, self.user_id, self.param_id, str(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))) db_insert(sql) def predict(self): if 'imgPath' in PARAMS.keys(): self.msgDialog = msg_dialog() self.msgDialog.show() self.timer = QTimer() self.timer.timeout.connect(self.start_connect) self.timer.start(500) self.statusbar.showMessage('预测完成') else: msg = QMessageBox.information(self, '提示', '请先选择图片或视频', QMessageBox.Yes, QMessageBox.Yes) def continue_camera(self, state): # state 0 没选中 1 选中 if state == 0: self.pushButton_camera.setText('拍摄照片') self.line_second.setEnabled(False) elif state == 2: self.pushButton_camera.setText('开始连拍') self.line_second.setEnabled(True) def camera(self): self.label.clear() self.player.setMedia(QMediaContent()) self.wgt_video.hide() self.label.show() self.pushButton_play.setVisible(False) if self.check_continue.checkState() != QtCore.Qt.Checked: self.pushButton_camera.setText('按Q拍照') cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() # show a frame cv2.imshow("Capture", frame) if cv2.waitKey(1) == ord('q'): cap_name = IMAGE_PATH + '/capimg_' + str( datetime.datetime.now().strftime( '%Y%m%d%H%M%S%f')) + '.jpg' cv2.imwrite(cap_name, frame) jpg = QtGui.QPixmap(cap_name).scaled( self.label.width(), self.label.height()) self.label.setPixmap(jpg) cap.release() # 释放摄像头 cv2.destroyAllWindows() # 删除建立的全部窗口 PARAMS['imgPath'] = cap_name PARAMS['all_file_path'].append(cap_name) self.pushButton_camera.setText('拍摄照片') break if cv2.getWindowProperty("Capture", cv2.WND_PROP_AUTOSIZE) < 1: cv2.destroyAllWindows() self.pushButton_camera.setText('拍摄照片') break else: self.now_continue_num = 0 self.pushButton_camera.setEnabled(False) self.pushButton_camera.setText('正在连拍') per_second_photo_num = self.line_second.text() self.msgDialog = msg_dialog(msg='准备开始连拍') self.cap = cv2.VideoCapture(0) self.msgDialog.show() self.msgDialog.move(1200, 500) self.timer = QTimer() self.continue_list = [] self.timer.timeout.connect(self.start_continue_photo) self.timer.start(int(1000 / int(per_second_photo_num))) def start_continue_photo(self): self.now_continue_num += 1 self.msgDialog.setWindowTitle('正在连拍') self.msgDialog.msg_dialog.label.setText('正在拍摄第 {}/9 张...'.format( self.now_continue_num)) # 拍照 ret, frame = self.cap.read() # show a frame cv2.imshow("Capture", frame) image_name = IMAGE_PATH + '/capimg_' + str( datetime.datetime.now().strftime('%Y%m%d%H%M%S%f')) + '.jpg' cv2.imwrite(image_name, frame) PARAMS['all_file_path'].append(image_name) self.continue_list.append(image_name) # 结束拍照 if self.now_continue_num == 9: self.timer.stop() self.msgDialog.msg_dialog.label.setText('正在处理结果') self.pushButton_camera.setText('开始连拍') self.pushButton_camera.setEnabled(True) self.msgDialog.close() cv2.destroyAllWindows() self.cap.release() # 横向拼接结果 continue_list_middle = [ np.hstack([ cv2.imread(self.continue_list[0], 1), cv2.imread(self.continue_list[1], 1), cv2.imread(self.continue_list[2], 1) ]), np.hstack([ cv2.imread(self.continue_list[3], 1), cv2.imread(self.continue_list[4], 1), cv2.imread(self.continue_list[5], 1) ]), np.hstack([ cv2.imread(self.continue_list[6], 1), cv2.imread(self.continue_list[7], 1), cv2.imread(self.continue_list[8], 1) ]) ] # 纵向拼接 continue_photo = np.vstack([ continue_list_middle[0], continue_list_middle[1], continue_list_middle[2] ]) # 展示结果 continue_photo_name = os.path.join( IMAGE_PATH, self.continue_list[0][:-10] + '_9in1.jpg') PARAMS['imgPath'] = continue_photo_name PARAMS['all_file_path'].append(continue_photo_name) cv2.imwrite(continue_photo_name, continue_photo) jpg = QtGui.QPixmap(continue_photo_name).scaled( self.label.width(), self.label.height()) self.label.setPixmap(jpg) def open_video(self): self.video_choose_dialog = media_dialog(media_type='视频') self.video_choose_dialog.show() self.video_choose_dialog._signal.connect(self.get_video) def get_video(self, videoName): if videoName != '': self.label.clear() self.player.setMedia(QMediaContent()) self.wgt_video.show() self.label.hide() self.player.setMedia(QMediaContent(QUrl.fromLocalFile(videoName))) self.player.play() self.video_is_play = True self.pushButton_play.setVisible(True) self.statusbar.showMessage('当前视频:' + videoName) PARAMS['imgPath'] = videoName self.video_choose_dialog.close() def video_play_change(self): self.video_is_play = bool(1 - self.video_is_play) if self.video_is_play: self.player.play() self.pushButton_play.setText('暂停') else: self.player.pause() self.pushButton_play.setText('播放') def delete(self): file_num = 0 for file_name in PARAMS['all_file_path']: if os.path.exists(file_name): os.remove(file_name) if '_rcnn' in file_name: sql = 'delete from tb_record where path="%s"' % file_name.replace( '\\', '/') db_delete(sql) file_num += 1 self.statusbar.showMessage('缓存清除成功,共' + str(file_num) + '个文件') self.label.clear() self.player.setMedia(QMediaContent()) def history(self): self.his_dialog = history_dialog(self.user_id, self.user_name) self.his_dialog.show() def start_connect(self): if str(PARAMS['imgPath']).endswith(('png', 'jpg')): self.ARP_predict() self.rcnn_predict() else: self.ARP_predict(mode='video') self.rcnn_predict(mode='video') self.timer.stop() self.msgDialog.close()
class DetectionReviewerWindowView(QMainWindow, BaseView): def __init__(self, window_height=Config.DETECTION_REVIEWER_WINDOW_HEIGHT, window_width=Config.DETECTION_REVIEWER_WINDOW_WIDTH): super(QMainWindow, self).__init__(parent=None) self.setObjectName("Detection reviewer") self.move( self.__percentage_of_width(550), # margin-left self.__percentage_of_height(10) # margin-top ) self.resize(window_height, window_width) self.setMinimumSize(QtCore.QSize(window_height, window_width)) self.central_widget = QtWidgets.QWidget(self) self.central_widget.setObjectName("central_widget") self.video_player_widget = QVideoWidget(self.central_widget) self.video_player_widget.setObjectName("video_player_widget") self.verticalLayoutWidget = QtWidgets.QWidget(self.central_widget) self.verticalLayoutWidget.setObjectName("__base_layout") self.verticalLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.verticalLayout.setContentsMargins(0, 0, 0, 0) self.verticalLayout.setObjectName("__menu_buttons_layout") self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.time_into_video_counter = QtWidgets.QLCDNumber( self.verticalLayoutWidget) self.time_into_video_counter.setObjectName("time_into_video_counter") self.horizontalLayout_2.addWidget(self.time_into_video_counter) self.video_position_slider = QtWidgets.QSlider( self.verticalLayoutWidget) self.video_position_slider.setOrientation(QtCore.Qt.Horizontal) self.video_position_slider.setObjectName("video_position_slider") self.horizontalLayout_2.addWidget(self.video_position_slider) self.time_left_counter = QtWidgets.QLCDNumber( self.verticalLayoutWidget) self.time_left_counter.setObjectName("time_left_counter") self.horizontalLayout_2.addWidget(self.time_left_counter) self.verticalLayout.addLayout(self.horizontalLayout_2) self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setObjectName("horizontalLayout") self.spacer_item = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(self.spacer_item) self.skip_to_start_of_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.skip_to_start_of_video_button.setObjectName( "skip_to_start_of_video_button") self.horizontalLayout.addWidget(self.skip_to_start_of_video_button) self.spacer_item_1 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(self.spacer_item_1) self.play_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.play_video_button.setObjectName("play_video_button") self.horizontalLayout.addWidget(self.play_video_button) self.spacer_item_2 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(self.spacer_item_2) self.skip_to_end_of_video_button = QtWidgets.QPushButton( self.verticalLayoutWidget) self.skip_to_end_of_video_button.setObjectName( "skip_to_end_of_video_button") self.horizontalLayout.addWidget(self.skip_to_end_of_video_button) self.spacer_item_3 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(self.spacer_item_3) self.verticalLayout.addLayout(self.horizontalLayout) self.detection_vertical_layout = QtWidgets.QWidget(self.central_widget) self.detection_vertical_layout.setObjectName( "detection_vertical_layout") self.verticalLayout_2 = QtWidgets.QVBoxLayout( self.detection_vertical_layout) self.verticalLayout_2.setContentsMargins(0, 0, 0, 0) self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout() self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.detection_list_scrollable_area = QScrollArea() self.horizontalLayout_3.addWidget(self.detection_list_scrollable_area) self.detection_list_scrollable_area.setWidgetResizable(True) scroll_content = QWidget(self.detection_list_scrollable_area) self.detection_list_scrollable_area.setWidget(scroll_content) self.verticalLayout_2.addLayout(self.horizontalLayout_3) self.setCentralWidget(self.central_widget) self.menu_bar = QtWidgets.QMenuBar() self.menu_bar.setObjectName("menu_bar") self.setMenuBar(self.menu_bar) self.status_bar = QtWidgets.QStatusBar(self) self.status_bar.setObjectName("status_bar") self.setStatusBar(self.status_bar) self.mediaPlayer = QMediaPlayer(None, QMediaPlayer.VideoSurface) self.__set_text_and_icons(self) self.__update_geometry() def __update_geometry(self): self.video_player_widget.setGeometry( QtCore.QRect( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top self.__percentage_of_width(50), # width self.__percentage_of_height(50) # height )) self.verticalLayoutWidget.setGeometry( QtCore.QRect( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(60), # margin - top self.__percentage_of_width(50), # width self.__percentage_of_height(10) # height )) self.spacer_item = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.spacer_item_1 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.spacer_item_2 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.spacer_item_3 = QtWidgets.QSpacerItem( self.__percentage_of_width(1.5), # margin - left self.__percentage_of_height(5), # margin - top QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.detection_vertical_layout.setGeometry( QtCore.QRect( self.__percentage_of_width(55), # margin - left self.__percentage_of_height(5), # margin - top self.__percentage_of_width(40), # width self.__percentage_of_height(80) # height )) def __percentage_of_height(self, percentage): return (percentage / 100) * self.geometry().height() def __percentage_of_width(self, percentage): return (percentage / 100) * self.geometry().width() def __set_text_and_icons(self, main_window): _translate = QtCore.QCoreApplication.translate main_window.setWindowTitle( _translate("Detection reviewer", "Detection reviewer")) icon_object = QtWidgets.QWidget(main_window).style() self.skip_to_start_of_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaSkipBackward)) self.play_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaPlay)) self.skip_to_end_of_video_button.setIcon( icon_object.standardIcon(QStyle.SP_MediaSkipForward)) def resizeEvent(self, event): self.__update_geometry() # call your update method QtWidgets.QMainWindow.resizeEvent(self, event) def get_video_widget(self): return self.video_player_widget def get_media_player(self): return self.mediaPlayer def get_play_button(self): return self.play_video_button def get_skip_backward_button(self): return self.skip_to_start_of_video_button def get_skip_forward_button(self): return self.skip_to_end_of_video_button def get_position_slider(self): return self.video_position_slider def get_time_left_counter(self): return self.time_left_counter def get_time_into_video_counter(self): return self.time_into_video_counter def get_menu_bar(self): return self.menu_bar def get_detection_event_scroll_area(self): return self.detection_list_scrollable_area def get_detection_vertical_layout(self): return self.detection_vertical_layout
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 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_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1420, 565) self.centralWidget = QtWidgets.QWidget(MainWindow) self.centralWidget.setObjectName("centralWidget") self.horizontalLayoutWidget = QtWidgets.QWidget(self.centralWidget) self.horizontalLayoutWidget.setGeometry(QtCore.QRect(70, 520, 681, 41)) self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget") self.horizontalLayout = QtWidgets.QHBoxLayout( self.horizontalLayoutWidget) self.horizontalLayout.setContentsMargins(11, 11, 11, 11) self.horizontalLayout.setSpacing(6) self.horizontalLayout.setObjectName("horizontalLayout") self.btnBrowse = QtWidgets.QPushButton(self.horizontalLayoutWidget) self.btnBrowse.setObjectName("btnBrowse") self.horizontalLayout.addWidget(self.btnBrowse) self.createGraph = QtWidgets.QPushButton(self.horizontalLayoutWidget) self.createGraph.setEnabled(True) self.createGraph.setObjectName("createGraph") self.horizontalLayout.addWidget(self.createGraph) self.videoWidget = QVideoWidget(self.centralWidget) self.videoWidget.setGeometry(QtCore.QRect(9, 9, 800, 480)) self.videoWidget.setObjectName("videoWidget") self.horizontalLayoutWidget_2 = QtWidgets.QWidget(self.videoWidget) self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(0, 0, 801, 481)) self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2") self.horizontalLayout_3 = QtWidgets.QHBoxLayout( self.horizontalLayoutWidget_2) self.horizontalLayout_3.setContentsMargins(11, 11, 11, 11) self.horizontalLayout_3.setSpacing(6) self.horizontalLayout_3.setObjectName("horizontalLayout_3") self.playBtn = QtWidgets.QPushButton(self.centralWidget) self.playBtn.setEnabled(True) self.playBtn.setGeometry(QtCore.QRect(70, 490, 61, 31)) self.playBtn.setObjectName("playBtn") self.verticalLayoutWidget = QtWidgets.QWidget(self.centralWidget) self.verticalLayoutWidget.setGeometry(QtCore.QRect(130, 490, 561, 31)) self.verticalLayoutWidget.setObjectName("verticalLayoutWidget") self.scrolLayout = QtWidgets.QVBoxLayout(self.verticalLayoutWidget) self.scrolLayout.setContentsMargins(11, 11, 11, 11) self.scrolLayout.setSpacing(6) self.scrolLayout.setObjectName("scrolLayout") self.fullScreen = QtWidgets.QPushButton(self.centralWidget) self.fullScreen.setGeometry(QtCore.QRect(690, 490, 61, 31)) self.fullScreen.setObjectName("fullScreen") self.plot_widget = QtWidgets.QWidget(self.centralWidget) self.plot_widget.setGeometry(QtCore.QRect(819, 9, 591, 481)) self.plot_widget.setObjectName("plot_widget") self.label = QtWidgets.QLabel(self.centralWidget) self.label.setGeometry(QtCore.QRect(950, 510, 41, 21)) self.label.setObjectName("label") self.lineEdit = QtWidgets.QLineEdit(self.centralWidget) self.lineEdit.setGeometry(QtCore.QRect(1000, 510, 351, 21)) self.lineEdit.setObjectName("lineEdit") self.OK = QtWidgets.QPushButton(self.centralWidget) self.OK.setGeometry(QtCore.QRect(1360, 500, 51, 41)) self.OK.setObjectName("OK") MainWindow.setCentralWidget(self.centralWidget) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow")) self.btnBrowse.setText(_translate("MainWindow", "choose video")) self.createGraph.setText(_translate("MainWindow", "create graph")) self.playBtn.setText(_translate("MainWindow", "Ply")) self.fullScreen.setText(_translate("MainWindow", "full")) self.label.setText(_translate("MainWindow", "Name:")) self.OK.setText(_translate("MainWindow", "Ok"))