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)
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()
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)
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()
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
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()
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()
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
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()
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()
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())
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)
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()
def __init__(self) : #заглушка qem = QErrorMessage() qem.showMessage('Не удаётся подключиться к Raspberry Pi: Будет подключена локальная камера') qem.exec() self._capturedDevice = cv2.VideoCapture(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()