From 0b54165e994fdcaa592e1831e1f97a773aecd456 Mon Sep 17 00:00:00 2001 From: Artemiy Date: Thu, 7 May 2026 06:20:13 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B1=D0=B0=D0=B3=20=D1=81=20=D0=BF=D0=BE=D0=B4?= =?UTF-8?q?=D1=81=D1=87=D1=91=D1=82=D0=BE=D0=BC=20=D0=BE=D0=B1=D1=8A=D1=91?= =?UTF-8?q?=D0=BC=D0=B0=20=D1=80=D0=B0=D0=B7=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=80=D0=B5=D0=B0=D0=B3=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.py | 16 +++------------- model.py | 2 ++ 2 files changed, 5 insertions(+), 13 deletions(-) diff --git a/controller.py b/controller.py index c2d85f7..cd0bdfb 100644 --- a/controller.py +++ b/controller.py @@ -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)}") diff --git a/model.py b/model.py index f66bdd4..bad016a 100644 --- a/model.py +++ b/model.py @@ -63,6 +63,7 @@ class Model: # Шаг 2: Рассчитываем количество каждого реагента для неразбавленного состава undiluted_amounts = [] for reagent in self.reagents: + # Расчёт количества реагента в базовых единицах amount_in_base = (reagent.percentage / 100) * total_in_base @@ -90,6 +91,7 @@ class Model: # Количество разбавленного реагента = исходное количество / фактор разбавления diluted_amount = undiluted_amounts[i] * dilution_factor + diluted_amounts.append(diluted_amount) # Вычисляем объём разбавленного реагента в базовых единицах (мкл)