修复导入时错误输入路径时崩溃的bug

This commit is contained in:
Yorusora 2025-02-11 20:47:40 +08:00
parent a3819c1e88
commit b9b85123c7

View File

@ -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)