mirror of
https://github.com/shizand/statapp.git
synced 2025-04-01 23:23:45 +03:00
fix: Добавлена обработка ошибок
This commit is contained in:
parent
1c88acf772
commit
5434016f73
@ -3,5 +3,5 @@
|
||||
<component name="Black">
|
||||
<option name="sdkName" value="Poetry (statapp)" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="statapp" project-jdk-type="Python SDK" />
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Poetry (statapp) (2)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="statapp" jdkType="Python SDK" />
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
|
@ -24,4 +24,5 @@ disable=
|
||||
missing-docstring,
|
||||
too-many-public-methods,
|
||||
too-few-public-methods,
|
||||
too-many-arguments
|
||||
too-many-arguments,
|
||||
broad-except
|
||||
|
@ -103,6 +103,7 @@ class MainWindow(QMainWindow):
|
||||
|
||||
@Slot()
|
||||
def on_openfileaction_triggered(self):
|
||||
try:
|
||||
currentData = self.model.getData()
|
||||
data = np.array([])
|
||||
if currentData.size > 1:
|
||||
@ -137,28 +138,40 @@ class MainWindow(QMainWindow):
|
||||
if data is not None and data.shape[0] > 0:
|
||||
self.model.updateAllData(data)
|
||||
self.isDataChanged = False
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
|
||||
@Slot()
|
||||
def on_savefileaction_triggered(self):
|
||||
try:
|
||||
self.isDataChanged = not self.fileModel.saveFile(self.model.getData())
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_closefileaction_triggered(self):
|
||||
try:
|
||||
self.fileModel.closeFile()
|
||||
self.isDataChanged = False
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_generateYaction_triggered(self):
|
||||
try:
|
||||
gw = GenerateWindow()
|
||||
|
||||
if gw.exec():
|
||||
y = generateYValues(gw.mat, gw.deviation, gw.count)
|
||||
self.model.updateAllData(y.round(NUMBERS_PRECISION))
|
||||
self.isDataChanged = True
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_generateXaction_triggered(self):
|
||||
try:
|
||||
gfw = GenerateFactorWindow()
|
||||
|
||||
if gfw.exec():
|
||||
@ -168,6 +181,8 @@ class MainWindow(QMainWindow):
|
||||
data = np.concatenate((data, xValues.round(NUMBERS_PRECISION)), axis=1)
|
||||
self.model.updateAllData(data)
|
||||
self.isDataChanged = True
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_aboutmenuaction_triggered(self):
|
||||
@ -176,28 +191,43 @@ class MainWindow(QMainWindow):
|
||||
|
||||
@Slot()
|
||||
def on_varianceAnalysisAction_triggered(self):
|
||||
try:
|
||||
dw = VarianceAnalysisWindow(self.model.getData())
|
||||
dw.exec()
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_correlationAnalisisAction_triggered(self):
|
||||
try:
|
||||
dw = CorrelationAnalysisWindow(self.model.getData())
|
||||
dw.exec()
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_linearPolynomAction_triggered(self):
|
||||
try:
|
||||
dw = LinearPolynomWindow(self.model.getData())
|
||||
dw.exec()
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_squaredPolynomAction_triggered(self):
|
||||
try:
|
||||
dw = SquaredPolynomWindow(self.model.getData())
|
||||
dw.exec()
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
@Slot()
|
||||
def on_transformPolynomAction_triggered(self):
|
||||
try:
|
||||
dw = TransformPolynomWindow(self.model.getData())
|
||||
dw.exec()
|
||||
except Exception as error:
|
||||
self.onError(error)
|
||||
|
||||
def closeEvent(self, event):
|
||||
if self.isDataChanged:
|
||||
@ -222,3 +252,13 @@ class MainWindow(QMainWindow):
|
||||
event.ignore()
|
||||
else:
|
||||
event.accept()
|
||||
|
||||
def onError(self, errorName: Exception):
|
||||
msgBox = buildMessageBox \
|
||||
('Ошибка',
|
||||
"Упс.. Произошла ошибка:\n" + str(errorName),
|
||||
QMessageBox.Critical,
|
||||
QMessageBox.Ok | QMessageBox.Cancel,
|
||||
QMessageBox.Cancel)
|
||||
|
||||
msgBox.exec_()
|
||||
|
@ -59,6 +59,8 @@ def buildMessageBox(title, text, icon, buttons, defaultButton):
|
||||
msgBox.setStandardButtons(buttons)
|
||||
msgBox.setDefaultButton(defaultButton)
|
||||
|
||||
addIcon(msgBox)
|
||||
|
||||
return msgBox
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user