Исправлен баг с подсчётом объёма разбавленного реагента
This commit is contained in:
+3
-13
@@ -63,7 +63,8 @@ class Controller:
|
||||
percentage_item = self.view.table.item(row, 1)
|
||||
unit_widget = self.view.table.cellWidget(row, 2)
|
||||
conversion_item = self.view.table.item(row, 3)
|
||||
dilution_widget = self.view.table.cellWidget(row, 4)
|
||||
dilution_item = self.view.table.item(row, 4)
|
||||
|
||||
|
||||
# Пропускаем строку, если какие-то обязательные поля отсутствуют
|
||||
if not all([name_item, percentage_item, conversion_item]):
|
||||
@@ -74,19 +75,8 @@ class Controller:
|
||||
percentage = float(percentage_item.text())
|
||||
unit = unit_widget.currentText() if unit_widget else "мг"
|
||||
conversion_factor = float(conversion_item.text())
|
||||
dilution_factor = float(dilution_item.text())
|
||||
|
||||
# Получаем коэффициент разбавления (поддерживаем QDoubleSpinBox и QLineEdit)
|
||||
dilution_factor = 1.0
|
||||
if dilution_widget:
|
||||
if isinstance(dilution_widget, QDoubleSpinBox):
|
||||
dilution_factor = dilution_widget.value()
|
||||
elif isinstance(dilution_widget, QLineEdit):
|
||||
try:
|
||||
dilution_factor = float(dilution_widget.text())
|
||||
except ValueError:
|
||||
dilution_factor = 1.0
|
||||
|
||||
# Добавляем реагент в модель
|
||||
self.model.add_reagent(name, percentage, unit, conversion_factor, dilution_factor)
|
||||
except ValueError as e:
|
||||
raise ValueError(f"Ошибка в строке {row + 1}: {str(e)}")
|
||||
|
||||
Reference in New Issue
Block a user