From 0a204e6f746e487fc71e4f569ade86ec55c64f78 Mon Sep 17 00:00:00 2001 From: Agata Date: Mon, 25 Jan 2021 17:00:50 +0100 Subject: [PATCH] added analize popup --- win_venv/main.py | 40 ++++++++++++++++++++++++++++-------- win_venv/static/loading.gif | Bin 0 -> 49211 bytes 2 files changed, 31 insertions(+), 9 deletions(-) create mode 100644 win_venv/static/loading.gif diff --git a/win_venv/main.py b/win_venv/main.py index 5f431b4..bf1f47c 100644 --- a/win_venv/main.py +++ b/win_venv/main.py @@ -6,7 +6,7 @@ from datetime import datetime import time from PyQt5 import QtCore from PyQt5.QtWidgets import * -from PyQt5.QtGui import QIcon, QPixmap +from PyQt5.QtGui import QIcon, QPixmap, QMovie from PyQt5.QtCore import * scriptPath = os.path.dirname(os.path.realpath(__file__)) @@ -40,6 +40,24 @@ class deletePopup(QMessageBox): self.setStandardButtons(self.Yes | self.No) +class analizePopup(QMessageBox): + def __init__(self, parent=None): + super(analizePopup, self).__init__(parent) + self.setStyleSheet("QLabel{min-width: 100px; max-width: 100px; qproperty-alignment: AlignCenter;}"); + self.setWindowIcon(QIcon(scriptPath + os.path.sep + 'static/v_logo.jpg')) + self.setText("Analizing file...") + self.setWindowTitle("File analysis") + # create Label + self.setIconPixmap(QPixmap(scriptPath + os.path.sep + 'static/loading.gif')) + icon_label = self.findChild(QLabel, "qt_msgboxex_icon_label") + movie = QMovie(scriptPath + os.path.sep + 'static/loading.gif') + # avoid garbage collector + setattr(self, 'icon_label', movie) + icon_label.setMovie(movie) + movie.start() + self.setStandardButtons(self.Cancel) + + class LibraryTableButtons(QWidget): def __init__(self, file, table, type, parent=None): super(LibraryTableButtons,self).__init__(parent) @@ -55,12 +73,17 @@ class LibraryTableButtons(QWidget): table.fillTable(type) def analyzeFile(): - cmd = "py detect.py --source {} --view-img".format(str(file)) + self.exPopup = analizePopup() + + #cmd = "py detect.py --source {} --view-img".format(str(file)) + #popen = subprocess.Popen(cmd, cwd="../yolov5/", stdout=subprocess.PIPE) + cancel = self.exPopup.exec() + if cancel == self.exPopup.Cancel: + #popen.terminate() + pass + #popen.wait() + self.exPopup.close() - popen = subprocess.Popen(cmd, cwd="../yolov5/", stdout=subprocess.PIPE) - popen.wait() - # todo: display gif/spinning wheel - pass layout = QHBoxLayout() layout.setContentsMargins(0,0,0,0) @@ -137,7 +160,7 @@ class formatHelp(QLabel): def __init__(self, parent=None): QLabel.__init__(self) - with open('static/help.txt', 'r', encoding='utf-8') as file: + with open(scriptPath + os.path.sep + 'static/help.txt', 'r', encoding='utf-8') as file: help_text = file.read().replace('\n', '') self.setText(help_text) self.setStyleSheet("padding-left: 20px; padding-right: 20px; padding-top: 10px; padding-bottom: 10px; font-size:32px;") @@ -180,8 +203,7 @@ class MainWindow(QMainWindow): def initUI(self): self.setGeometry(0, 0, 600, 400) self.setWindowTitle('VisionScore') - scriptDir = os.path.dirname(os.path.realpath(__file__)) - self.setWindowIcon(QIcon(scriptDir + os.path.sep + 'static/v_logo.jpg')) + self.setWindowIcon(QIcon(scriptPath + os.path.sep + 'static/v_logo.jpg')) # File menu menuBar = self.menuBar() diff --git a/win_venv/static/loading.gif b/win_venv/static/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdc6a2d70b9fcc6fa91aaf71695e6d5c7454141e GIT binary patch literal 49211 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

;!fVLg@U(mWJtQK!uQ% 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 W>)qqka?(e6CkogderQW