Exemple #1
0
 def load_cam(self):
     self.cam_page.setLayout(self.cam_page_lay)
     self.error_cam.hide()
     self.camera = QCameraInfo.defaultCamera()
     # Проверяем, что камера сущетсвует
     # Если нет, то переключаемся на вторую вкладку
     if self.camera.isNull():
         dialog = QErrorMessage()
         dialog.setWindowTitle('Warning')
         dialog.showMessage(
             'Not enough cameras, the app will only be available in drawing mode'
         )
         dialog.exec()
         self.error_cam.show()
         self.cam_page.setEnabled(False)
         self.tabWidget.setCurrentIndex(1)
     # Если да, то на первую
     else:
         self.tabWidget.setCurrentIndex(0)
         self.camera = QCamera(self.camera)
         self.view_cam = QCameraViewfinder(self)
         self.view_cam.setMediaObject(self.camera)
         self.view_cam.setAutoFillBackground(True)
         self.camera.setViewfinder(self.view_cam)
         self.box_lay = QVBoxLayout(self)
         self.box_lay.addWidget(self.view_cam)
         self.scrolling.setLayout(self.box_lay)
         # Запускаем камеру
         self.camera.start()
         # Подвязываем кнопку к слоту со снимком
         self.bt_cam.clicked.connect(self.make_ph)
         # Можно зумить фотографию
         self.zoom.valueChanged.connect(self.zoom_pict)
Exemple #2
0
    def push_slave_changes(self):
        params = []
        kakoito_set = set()
        try:
            for i in range(self.way_layout.count()):
                cell = self.way_layout.itemAt(i)
                w = cell.itemAt(1).widget()
                param = w.currentText()
                if param:
                    if param in kakoito_set:
                        raise KeyError
                    kakoito_set.add(param)
                    param_id = self.combo_change_idx["название_параметра"][
                        param]
                    dwn_w = cell.itemAt(2).widget()
                    up_w = cell.itemAt(3).widget()
                    dwn_val = dwn_w.text()
                    up_val = up_w.text()
                    if not dwn_val:
                        dwn_val = 0
                    if not up_val:
                        up_val = 0
                    params.append((self.worker_id, param_id, dwn_val, up_val))

            query = f" insert into `допустимые_значения_параметров` values(%s, %s, %s, %s)"
            self.db.execute(
                "delete from `допустимые_значения_параметров` where код_категории_вредности = %s",
                (self.worker_id, ))
            self.db.executemany(query, params)
            self.db.commit()
        except KeyError as er:
            from PyQt5.QtWidgets import QErrorMessage
            error_widget = QErrorMessage()
            error_widget.showMessage(f"Дубликат параметра")
            error_widget.exec()
Exemple #3
0
    def go_to_epoch(self, checked=False, test_text_str=None):
        """Go to any window"""
        if test_text_str is not None:
            time_str = test_text_str
            ok = True
        else:
            time_str, ok = QInputDialog.getText(
                self, 'Go To Epoch', 'Enter start time of the '
                'epoch,\nin seconds ("1560") '
                'or\nas absolute time '
                '("22:30")')

        if not ok:
            return

        try:
            rec_start_time = self.parent.info.dataset.header['start_time']
            window_start = _convert_timestr_to_seconds(time_str,
                                                       rec_start_time)
        except ValueError as err:
            error_dialog = QErrorMessage()
            error_dialog.setWindowTitle('Error moving to epoch')
            error_dialog.showMessage(str(err))
            if test_text_str is None:
                error_dialog.exec()
            self.parent.statusBar().showMessage(str(err))
            return

        self.parent.overview.update_position(window_start)
Exemple #4
0
 def preLaunchCheck(self):
     success, errorMessage = check_system()
     # Exit and show message if found problems
     if not success:
         err_dialog = QErrorMessage()
         err_dialog.showMessage(errorMessage)
         err_dialog.exec()
         self.UISignals.checksFailedSignal.emit()
    def connectError(self):

        text = 'Пример заполнения полей :\n' \
               '"Смирнов Игорь Сегревич "\n' \
               '"ИвЭнергоСбыт"'
        input_error = QErrorMessage()
        input_error.showMessage(text)
        input_error.exec()
 def db_integrity_check(self):
     bad_tables = self.get_malformed_tables()
     if bad_tables:
         error_msg_dialog = QErrorMessage()
         error_msg_dialog.showMessage(
             f'Integrity check failed. Malformed tables: {", ".join(bad_tables)}'
         )
         error_msg_dialog.exec()
     else:
         self.statusBar().showMessage('Integrity check passed.', 5000)
 def submitPoints(self):
     if self.currentImageWidget is not None:
         try:
             self.currentImageWidget.savePoints()
             np.save("userImage.npy", misc.imread(self.currentImageName))
             self.addShirt()
         except Exception as err:
             messageBox = QErrorMessage()
             messageBox.showMessage(err.args[0])
             messageBox.exec()
Exemple #8
0
 def execute(operation: str, params=(), multi=False):  # Смотри что оборачиваешь, и его параметры
     """Функция не реализующая коннект по требованию и создание уникального курсора для каждого запроса"""
     try:
         cur = DbWrapper.__conn.cursor()
         cur.execute(operation, params, multi)
         return cur
     except Exception as err:
         error_widget = QErrorMessage()
         error_widget.showMessage(str(err))
         error_widget.exec()
         return None
Exemple #9
0
def excepthook(exc_type, exc_value, exc_tb):
    traceback_ = ''.join(
        traceback.format_exception(exc_type, exc_value, exc_tb))
    err_msg = f'An unhandled exception has occurred:\n {traceback_}'
    manager_logger.error(err_msg)
    err_msg = err_msg.replace('\n', '<br>')
    error_dialog = QErrorMessage()
    error_dialog.setWindowTitle('HLM PV Import - Error')
    error_dialog.resize(600, 300)
    error_dialog.setFont(QFont('Lucida Console', 9))
    error_dialog.showMessage(err_msg)
    error_dialog.exec()
Exemple #10
0
 def _installEndCallback(self, success):
     self.UISignals.installEndSignal.emit()
     if success:
         QMessageBox.question(
             self, "Installation success",
             "Successfully installed {}".format(
                 self.currentProduct['name']), QMessageBox.Ok)
     else:
         err_dialog = QErrorMessage()
         err_dialog.showMessage(
             'Installation failed. Please, check logs at {}'.format(
                 LOG_FILE))
         err_dialog.exec()
Exemple #11
0
    def line_up_with_epoch(self):
        """Go to the start of the present epoch."""
        if self.parent.notes.annot is None:  # TODO: remove if buttons are disabled
            error_dialog = QErrorMessage()
            error_dialog.setWindowTitle('Error moving to epoch')
            error_dialog.showMessage('No score file loaded')
            error_dialog.exec()
            return

        new_window_start = self.parent.notes.annot.get_epoch_start(
            self.parent.value('window_start'))

        self.parent.overview.update_position(new_window_start)
 def add_guild(self):
     try:
         int(self._NewGuildArea.text())
     except Exception:
         error_dialog = QErrorMessage()
         error_dialog.showMessage(
             'Guild id must be int. Try $guildID in the required discord text channel'
         )
         error_dialog.exec()
         return
     self.request_guild_channel_ids(int(self._NewGuildArea.text()))
     self.update_listed_guilds()
     self.User.save_to_file()
     return
Exemple #13
0
 def on_browse_click(self):
     self.path, _ = QFileDialog.getOpenFileName(self, "Open Dataset", "", "CSV Files (*.csv)")
     try:
         self.kmeans.open_dataset(filepath=self.path)
         self.dimensions_label.setText("Dimensions: {}".format(self.kmeans.dimensions))
         self.add_matplotlib_canvas()
         self.setWindowTitle('K-Means Clustering: {}'.format(self.path))
         self.elbow_btn.setEnabled(True)
         self.run_btn.setEnabled(True)
         self.step_btn.setEnabled(True)
     except FileNotFoundError:
         print("Exception")
         error_dialog = QErrorMessage()
         error_dialog.showMessage("File Not Found, try again")
         error_dialog.exec()
Exemple #14
0
    def error_message(self, error):
        """Error prompt

        This function produces an error message if one arises during segmentation.

        Args:
            error (pyqtSignal): Error signal generated during segmentation.
        """

        self.start_msg.thread.terminate()
        self.start_msg.close()
        msg = QErrorMessage()
        text = "Error while running segmentation."
        msg.setWindowTitle(text)
        msg.showMessage("ERROR:\n" + error)
        msg.exec()
Exemple #15
0
def main():
    app = QApplication(sys.argv)
    connector = ServerConnector("http://localhost", 5000)
    auth_dialog = AuthorizationDialog()
    auth_dialog.exec()
    if auth_dialog.is_accepted:
        try:
            connector.set_user(auth_dialog.user_id,
                               sha256(auth_dialog.password_field.text().encode('utf-8')).hexdigest())
        except SecurityError:
            error_box = QErrorMessage()
            error_box.showMessage("Check your credentials and try again!")
            error_box.setWindowTitle("Security error")
            error_box.exec()
            sys.exit(1)
        window = MainWindow(connector)
        window.show()
    sys.exit(app.exec())
Exemple #16
0
    def begin_trial(self):
        if not self.running:

            if not self.configurations.validate_saving_info():
                dialog = QErrorMessage()
                dialog.showMessage(
                    "Please select a directory in which the data will be saved before starting!"
                )
                dialog.exec()
                return

            self.slice_generator = utils.SliceIndexGenerator(
                global_config.SAMPLING_RATE, self.configurations.classes)

            self.start_eeg_recording()

            self.create_timers()

            self.terminate_trial_btn.setEnabled(True)
            self.running = True
            self.start_timer.timeout.connect(self.next_class)
            self.start_timer.start(self.configurations.start_delay * 1000)
	def record_clicked(self, reference: bool = False):
		# selected_window_text = self.window_size_combo_box.currentText()
		# window_size_text = selected_window_text.replace(" Sec", "")

		# window_size = -1
		#
		# if utils.is_integer(window_size_text):
		# 	window_size = int(window_size_text)
		# else:
		# 	print("Invalid window size...")
		# 	return

		# window_size_in_samples = window_size * SAMPLING_RATE

		recording_duration_in_samples = self.DEFAULT_RECORDING_DURATION * global_config.SAMPLING_RATE

		if not reference and (self.frequency_slider.value() - self.DEFAULT_MIN_FREQUENCY) % self.DEFAULT_FREQUENCY_STEP != 0:
			err = QErrorMessage(self)
			err.showMessage("Invalid Frequency Selected")
			err.exec()
			return

		self.recording_progress_dialog = \
			QProgressDialog("Reading EEG data from board...", "Stop Recording", 0, int(recording_duration_in_samples), self)
		self.recording_progress_dialog.setWindowTitle("Reading Data, Please Wait...")
		self.recording_progress_dialog.setWindowModality(Qt.WindowModal)
		self.recording_progress_dialog.show()

		if reference:
			self.recording_reference = True
		else:
			self.recording = True
			self.eeg_data_buffer.clear()

		self.board.start_stream()

		self.reading_timer = QTimer()
		self.reading_timer.timeout.connect(self.read_data)
		self.reading_timer.start(100)
Exemple #18
0
    def login(self):
        try:
            db_wrapper.connect(host="localhost",
                               user=self.log_edt.text(),
                               passwd=self.pas_edt.text(),
                               database="пассажироперевозочная",
                               use_pure=True)
        except Exception as err:
            msg = None
            if err.args[0] == 1045:
                msg = "Не правильный логин или пароль"
            if err.args[0] == 2003:
                msg = "Сервер недоступен"

            if msg:
                from PyQt5.QtWidgets import QErrorMessage
                error = QErrorMessage()
                error.showMessage(msg)
                error.exec()
        else:
            self.w.show()
            self.hide()
Exemple #19
0
 def __init__(self) :
     #заглушка
     qem = QErrorMessage()
     qem.showMessage('Не удаётся подключиться к Raspberry Pi: Будет подключена локальная камера')
     qem.exec()
     self._capturedDevice = cv2.VideoCapture(0)    
Exemple #20
0
 def connectLocalCamera(self) :
     self.close()
     qem = QErrorMessage()
     qem.showMessage('Не удаётся подключиться к Raspberry Pi: Будет подключена локальная камера')
     qem.exec()
     self._capturedDevice = cv2.VideoCapture(0)    
 def show_warning(self, message):
     error_dialog = QErrorMessage()
     error_dialog.showMessage(message)
     error_dialog.setWindowTitle("PeopleTracker ERROR")
     error_dialog.exec()
def showCustomizedErrorWindow(errorMessage):
    err = QErrorMessage()
    err.showMessage(f'Error {errorMessage}')
    err.setWindowTitle('Whoops...')
    err.exec()