From b9b85123c7d404ab93b936f05f57cb390c6243e4 Mon Sep 17 00:00:00 2001 From: Yorusora Date: Tue, 11 Feb 2025 20:47:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=85=A5=E6=97=B6?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E8=BE=93=E5=85=A5=E8=B7=AF=E5=BE=84=E6=97=B6?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecg_label_check.py | 131 ++++++++++++++++++++++++--------------------- 1 file changed, 69 insertions(+), 62 deletions(-) diff --git a/ecg_label_check.py b/ecg_label_check.py index bf9cbcc..cb5b832 100644 --- a/ecg_label_check.py +++ b/ecg_label_check.py @@ -313,75 +313,82 @@ class MainWindow(QMainWindow, Ui_MainWindow): self.msgBox.exec() def slot_btn_dataInput(self): - info("Inputing Data...") - self.textBrowser_update("提示:开始导入数据") - MainWindow.setWindowTitle(self, QCoreApplication.translate("MainWindow", - "ECG_Label_Check - Data Path: " + self.lineEdit_rootpath.text())) - # 导入数据 - self.label1 = np.array([]) - self.label2 = np.array([]) - file = open(str(self.lineEdit_data1path.text()), 'r') - self.data1 = file.readlines() - self.data1 = list(map(float, self.data1)) - self.data2 = self.data1 - self.data1 = self.data_preprocess(self.data1, int(self.lineEdit_data1_fillterNum.text()), - float(self.lineEdit_data1_fillterFrequency_min.text()), - float(self.lineEdit_data1_fillterFrequency_max.text()), - float(self.lineEdit_frequency.text())) - self.data2 = self.data_preprocess(self.data2, int(self.lineEdit_data2_fillterNum.text()), - float(self.lineEdit_data2_fillterFrequency_min.text()), - float(self.lineEdit_data2_fillterFrequency_max.text()), - float(self.lineEdit_frequency.text())) - file = open(str(self.lineEdit_label1path.text()), 'r') - self.label1 = np.array(file.readlines()) - self.label2 = self.label1 - self.data1 = self.data1.astype(np.float64) - self.data2 = self.data2.astype(np.float64) - self.label1 = self.label1.astype(np.int64) - self.label2 = self.label2.astype(np.int64) - self.points_y_1 = [self.data1[x] for x in self.label1] - self.points_y_2 = [self.data2[x] for x in self.label2] + if self.lineEdit_data1path.text() != "" and self.lineEdit_data2path.text() != "" and self.lineEdit_label1path.text() != "" and self.lineEdit_label2path.text() != "": + info("Inputing Data...") + self.textBrowser_update("提示:开始导入数据") + MainWindow.setWindowTitle(self, QCoreApplication.translate("MainWindow", + "ECG_Label_Check - Data Path: " + self.lineEdit_rootpath.text())) + # 导入数据 + self.label1 = np.array([]) + self.label2 = np.array([]) + file = open(str(self.lineEdit_data1path.text()), 'r') + self.data1 = file.readlines() + self.data1 = list(map(float, self.data1)) + self.data2 = self.data1 + self.data1 = self.data_preprocess(self.data1, int(self.lineEdit_data1_fillterNum.text()), + float(self.lineEdit_data1_fillterFrequency_min.text()), + float(self.lineEdit_data1_fillterFrequency_max.text()), + float(self.lineEdit_frequency.text())) + self.data2 = self.data_preprocess(self.data2, int(self.lineEdit_data2_fillterNum.text()), + float(self.lineEdit_data2_fillterFrequency_min.text()), + float(self.lineEdit_data2_fillterFrequency_max.text()), + float(self.lineEdit_frequency.text())) + file = open(str(self.lineEdit_label1path.text()), 'r') + self.label1 = np.array(file.readlines()) + self.label2 = self.label1 + self.data1 = self.data1.astype(np.float64) + self.data2 = self.data2.astype(np.float64) + self.label1 = self.label1.astype(np.int64) + self.label2 = self.label2.astype(np.int64) + self.points_y_1 = [self.data1[x] for x in self.label1] + self.points_y_2 = [self.data2[x] for x in self.label2] - # 更新tableWidget - self.tableWidget_label1.setRowCount(len(self.label1)) - for row, value in enumerate(self.label1): - item = QTableWidgetItem(str(value).strip()) - self.tableWidget_label1.setItem(row, 0, item) - self.tableWidget_label2.setRowCount(self.label2.__len__()) - for row, value in enumerate(self.label2): - item = QTableWidgetItem(str(value).strip()) - self.tableWidget_label2.setItem(row, 0, item) - self.groupBox_labelDisplay.setEnabled(True) + # 更新tableWidget + self.tableWidget_label1.setRowCount(len(self.label1)) + for row, value in enumerate(self.label1): + item = QTableWidgetItem(str(value).strip()) + self.tableWidget_label1.setItem(row, 0, item) + self.tableWidget_label2.setRowCount(self.label2.__len__()) + for row, value in enumerate(self.label2): + item = QTableWidgetItem(str(value).strip()) + self.tableWidget_label2.setItem(row, 0, item) + self.groupBox_labelDisplay.setEnabled(True) - # 更新界面 - self.groupBox_inputSetting.setEnabled(False) - self.groupBox_autoplay.setEnabled(True) - self.pushButton_outputLabel.setEnabled(True) - self.figToolbar.action_Label_Single.setEnabled(True) - self.figToolbar.action_Label_Multiple.setEnabled(True) - for action in self.figToolbar._actions.values(): - action.setEnabled(True) + # 更新界面 + self.groupBox_inputSetting.setEnabled(False) + self.groupBox_autoplay.setEnabled(True) + self.pushButton_outputLabel.setEnabled(True) + self.figToolbar.action_Label_Single.setEnabled(True) + self.figToolbar.action_Label_Multiple.setEnabled(True) + for action in self.figToolbar._actions.values(): + action.setEnabled(True) - # 更新信息 - self.label_data1_length.setText(str(len(self.data1))) - self.label_data2_length.setText(str(len(self.data2))) - self.label_label1_length.setText(str(len(self.label1))) - self.label_label2_length.setText(str(len(self.label2))) + # 更新信息 + self.label_data1_length.setText(str(len(self.data1))) + self.label_data2_length.setText(str(len(self.data2))) + self.label_label1_length.setText(str(len(self.label1))) + self.label_label2_length.setText(str(len(self.label2))) - # 更新画框 - self.figure.clear() - self.plot_data_and_label() + # 更新画框 + self.figure.clear() + self.plot_data_and_label() - # 连接画框中的槽函数 - # Connect mouse events - self.canvas.mpl_connect('motion_notify_event', self.on_motion) + # 连接画框中的槽函数 + # Connect mouse events + self.canvas.mpl_connect('motion_notify_event', self.on_motion) - # 保存路径文件是否存在的检查 - if not Path(self.lineEdit_savepath.text()).exists(): - Path(self.lineEdit_savepath.text()).touch() + # 保存路径文件是否存在的检查 + if not Path(self.lineEdit_savepath.text()).exists(): + Path(self.lineEdit_savepath.text()).touch() - info("Finished Input Data.") - self.textBrowser_update("提示:导入数据完成") + info("Finished Input Data.") + self.textBrowser_update("提示:导入数据完成") + else: + info("Failed to Input Data!") + self.textBrowser_update("操作:导入数据失败") + self.msgBox.setText("导入失败,请正确输入路径") + self.msgBox.setIcon(QMessageBox.Critical) + self.msgBox.exec() def slot_radioBtn_inputMode_auto(self): self.pushButton_rootpath_open.setEnabled(True)