1、精简部分公共代码到PublicFunc.py中

2、完成了<人工纠正>的部分代码
This commit is contained in:
2025-05-05 20:43:22 +08:00
parent 74f9d357a1
commit 10247fb738
12 changed files with 686 additions and 330 deletions

View File

@ -1,7 +1,7 @@
from datetime import datetime
from logging import error, info
from PySide6.QtWidgets import QMessageBox
from PySide6.QtWidgets import QMessageBox, QWidget, QPushButton, QProgressBar, QApplication
from func.utils.Constants import Constants
from func.utils.CustomException import TipsTypeValueNotExistError, MsgBoxTypeValueNotExistError
@ -94,3 +94,64 @@ class PublicFunc:
else:
raise MsgBoxTypeValueNotExistError()
main_window.msgBox.exec()
@staticmethod
def __disableAllButton__(mainWindow, buttonState):
# 禁用所有按钮
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
# 迭代所有部件,查找按钮并禁用它们
for widget in all_widgets:
if isinstance(widget, QPushButton):
if widget.objectName() in buttonState["Current"].keys():
widget.setEnabled(False)
@staticmethod
def __enableAllButton__(mainWindow, buttonState):
# 启用按钮
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
# 迭代所有部件,查找按钮并启用它们
for widget in all_widgets:
if isinstance(widget, QPushButton):
if widget.objectName() in buttonState["Current"].keys():
widget.setEnabled(buttonState["Current"][widget.objectName()])
@staticmethod
def __resetAllButton__(mainWindow, buttonState):
# 启用按钮
all_widgets = mainWindow.centralWidget().findChildren(QWidget)
# 迭代所有部件,查找按钮并启用它们
for widget in all_widgets:
if isinstance(widget, QPushButton):
if widget.objectName() in buttonState["Default"].keys():
widget.setEnabled(buttonState["Default"][widget.objectName()])
@staticmethod
def add_progressbar(mainWindow):
mainWindow.progressbar = QProgressBar()
mainWindow.progressbar.setRange(0, 100)
mainWindow.progressbar.setValue(0)
mainWindow.progressbar.setStyleSheet(Constants.PROGRESSBAR_STYLE)
mainWindow.ui.statusbar.addPermanentWidget(mainWindow.progressbar)
@staticmethod
def statusbar_show_msg(mainWindow, msg):
mainWindow.ui.statusbar.showMessage(msg)
@staticmethod
def statusbar_clear_msg(mainWindow):
mainWindow.ui.statusbar.clearMessage()
@staticmethod
def finish_operation(mainWindow, buttonState):
PublicFunc.statusbar_show_msg(mainWindow, PublicFunc.format_status_msg(Constants.OPERATION_FINISHED))
mainWindow.progressbar.setValue(100)
QApplication.processEvents()
PublicFunc.__enableAllButton__(mainWindow, buttonState)