feat: добавлена возможность удалить факторы

This commit is contained in:
Maxim Slipenko 2024-02-02 14:21:50 +03:00
parent 871d9ad746
commit 00ba6bf839
2 changed files with 32 additions and 2 deletions

View File

@ -19,8 +19,8 @@
#
import numpy as np
from PySide2 import QtCore
from PySide2.QtCore import Slot
from PySide2.QtWidgets import QMainWindow, QMessageBox
from PySide2.QtCore import Slot, Qt, QPoint
from PySide2.QtWidgets import QMainWindow, QMessageBox, QAction, QMenu
from statapp.calculations import generateXValues, generateYValues
from statapp.constants import NUMBERS_PRECISION
@ -79,6 +79,27 @@ class MainWindow(QMainWindow):
# x1 = generateXValues(20, 2, 0, y)
# x2 = generateXValues(10, 1, 0, y)
# self.model.updateAllData(np.concatenate([y, x1, x2], axis=1))
self.ui.tableView.horizontalHeader().setContextMenuPolicy(Qt.CustomContextMenu)
self.ui.tableView.horizontalHeader().customContextMenuRequested.connect(self.removeColumn)
def removeColumn(self, event: QPoint):
menu = QMenu(self)
col = self.ui.tableView.columnAt(event.x())
if col == 0:
return
def fun():
self.model.removeCol(col)
self.isDataChanged = True
selectAction = QAction("Удалить", self)
selectAction.triggered.connect(fun)
menu.addAction(selectAction)
menu.exec_(self.ui.tableView.mapToGlobal(event))
def updateActionsEnabled(self):

View File

@ -33,3 +33,12 @@ class InputValuesModel(EditableTableModel):
def getY(self):
return self._data[:, 0]
def removeCol(self, index: int):
self._data = np.delete(self._data, index, axis=1)
self.layoutChanged.emit()
self.dataChanged.emit(
self.index(0, 0),
self.index(self.rowCount(QModelIndex()), self.columnCount(QModelIndex()))
)