1、修复了其他几个模块的Permission Denied时无法正确提示的问题

2、为这些模块重新添加了手动保存的功能,当内容尚未成功保存到磁盘时,内容将暂存到内存中,正确操作后手动点击手动保存将能正确保存结果
This commit is contained in:
2025-06-04 20:12:28 +08:00
parent 65f8bef694
commit 56149d47e9
14 changed files with 256 additions and 47 deletions

View File

@ -9,7 +9,7 @@ from PySide6.QtWidgets import QMessageBox, QMainWindow, QApplication, QTableWidg
from matplotlib import gridspec, patches
from matplotlib.backends.backend_qt import NavigationToolbar2QT
from matplotlib.backends.backend_qtagg import FigureCanvasQTAgg
from numpy import array, append, sum as np_sum, nonzero
from numpy import array, sum as np_sum, nonzero
from numpy.fft import fft, fftfreq
from overrides import overrides
from pandas import read_csv, DataFrame, concat
@ -33,6 +33,7 @@ ButtonState = {
"Default": {
"pushButton_input_setting": True,
"pushButton_input": True,
"pushButton_save": False,
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False,
@ -46,6 +47,7 @@ ButtonState = {
"Current": {
"pushButton_input_setting": True,
"pushButton_input": True,
"pushButton_save": False,
"pushButton_prev_move": False,
"pushButton_pause": False,
"pushButton_next_move": False,
@ -270,6 +272,7 @@ class MainWindow_artifact_label(QMainWindow):
self.ui.pushButton_type_4.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_type_5.clicked.connect(self.__slot_btn_label__)
self.ui.pushButton_delete.clicked.connect(self.__slot_btn_delete_label__)
self.ui.pushButton_save.clicked.connect(self.__slot_btn_save__)
self.ui.pushButton_prev_move.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_pause.clicked.connect(self.__slot_btn_move__)
self.ui.pushButton_next_move.clicked.connect(self.__slot_btn_move__)
@ -644,6 +647,7 @@ class MainWindow_artifact_label(QMainWindow):
ButtonState["Current"]["pushButton_input_setting"] = False
ButtonState["Current"]["pushButton_prev_move"] = True
ButtonState["Current"]["pushButton_next_move"] = True
ButtonState["Current"]["pushButton_save"] = True
ButtonState["Current"]["pushButton_pause"] = True
ButtonState["Current"]["pushButton_type_1"] = True
ButtonState["Current"]["pushButton_type_2"] = True
@ -652,9 +656,25 @@ class MainWindow_artifact_label(QMainWindow):
ButtonState["Current"]["pushButton_type_5"] = True
PublicFunc.finish_operation(self, ButtonState)
def __slot_btn_save__(self):
PublicFunc.__disableAllButton__(self, ButtonState)
# 保存
PublicFunc.progressbar_update(self, 1, 1, Constants.SAVING_DATA, 0)
result = self.save()
if not result.status:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
PublicFunc.finish_operation(self, ButtonState)
return
else:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO)
PublicFunc.msgbox_output(self, result.info, Constants.TIPS_TYPE_INFO)
PublicFunc.finish_operation(self, ButtonState)
def __slot_btn_label__(self):
sender = self.sender()
flag = False
select_row = []
select_type = array([0, 0, 0, 0, 0])
flagf = False
@ -853,14 +873,15 @@ class MainWindow_artifact_label(QMainWindow):
result = self.data.save(amount, duration)
if not result.status:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, result.info, Constants.MSGBOX_TYPE_ERROR)
PublicFunc.finish_operation(self, ButtonState)
return
info = f"未成功保存,错误提示:{result.info},结果已暂存到缓存中,请正确操作后重试。"
PublicFunc.text_output(self.ui, info, Constants.TIPS_TYPE_ERROR)
PublicFunc.msgbox_output(self, info, Constants.MSGBOX_TYPE_ERROR)
else:
PublicFunc.text_output(self.ui, "(1/1)" + result.info, Constants.TIPS_TYPE_INFO)
info = result.info
PublicFunc.text_output(self.ui, info, Constants.TIPS_TYPE_INFO)
PublicFunc.finish_operation(self, ButtonState)
return result
def __slot_btn_delete_label__(self):
if self.pressed_number is not None: