сделай так, чтобы переменная kuo в третьем виджета сохраняла в себе значение переменной kuo из MainWidget, остальное оставь без изменений:
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QHBoxLayout, QPlainTextEdit, QTextBrowser, QPushButton, QLabel, QTabWidget, QGridLayout
from PyQt5.QtCore import QSize

class Widget1(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setFixedSize(QSize(1500, 900))  # Установка фиксированного размера для виджета
        self.X = [1] * 6
        self.A = [1] * 6
        self.Teta = 1
        self.input_fields = {}

        self.initUI()

    def initUI(self):
        layout = QVBoxLayout()

        # Create input fields for Xn
        for i in range(6):
            h_layout = QHBoxLayout()
            text_browser = QTextBrowser()
            text_browser.setPlainText(f'Количество деталей {i+1}-го технологического уклада (X{i+1})')
            input_field = QPlainTextEdit()
            self.input_fields[f'X{i+1}'] = input_field
            button = QPushButton('Ввести')
            button.clicked.connect(lambda _, idx=i: self.update_value(input_field, idx, 'X'))
            h_layout.addWidget(text_browser)
            h_layout.addWidget(input_field)
            h_layout.addWidget(button)
            layout.addLayout(h_layout)
        
        # Create input fields for Am
        for i in range(6):
            h_layout = QHBoxLayout()
            text_browser = QTextBrowser()
            text_browser.setPlainText(f'Значимость деталей {i+1}-го технологического уклада (A{i+1})')
            input_field = QPlainTextEdit()
            self.input_fields[f'A{i+1}'] = input_field
            button = QPushButton('Ввести')
            button.clicked.connect(lambda _, idx=i: self.update_value(input_field, idx, 'A'))
            h_layout.addWidget(text_browser)
            h_layout.addWidget(input_field)
            h_layout.addWidget(button)
            layout.addLayout(h_layout)

        # Create input field for Teta
        h_layout = QHBoxLayout()
        text_browser = QTextBrowser()
        text_browser.setPlainText('Общее количество частей в высокотехнологичной продукции (Teta)')
        input_field = QPlainTextEdit()
        self.input_fields['Teta'] = input_field
        button = QPushButton('Ввести')
        button.clicked.connect(lambda _, idx=12: self.update_value(input_field, idx, 'Teta'))
        h_layout.addWidget(text_browser)
        h_layout.addWidget(input_field)
        h_layout.addWidget(button)
        layout.addLayout(h_layout)

        # Button to enter all values at once
        all_button = QPushButton('Ввести всё')
        all_button.clicked.connect(self.enter_all_values)
        layout.addWidget(all_button)

        # Result label
        self.result_label = QLabel('Коэффициент технологического уклада: ')
        layout.addWidget(self.result_label)

        self.setLayout(layout)
    
    def update_value(self, input_field, idx, var_type):
        try:
            value = float(input_field.toPlainText())
            if var_type == 'X':
                self.X[idx] = value
            elif var_type == 'A':
                self.A[idx] = value
            elif var_type == 'Teta':
                self.Teta = value
            self.update_label()
        except ValueError:
            pass

    def enter_all_values(self):
        for i in range(6):
            self.update_value(self.input_fields[f'X{i+1}'], i, 'X')
            self.update_value(self.input_fields[f'A{i+1}'], i, 'A')
        self.update_value(self.input_fields['Teta'], 12, 'Teta')

    def update_label(self):
        total = sum(self.X[i] * self.A[i] / self.Teta for i in range(6)) / 6
        self.result_label.setText(f'Коэффициент технологического уклада: {total:.10f}')


class Widget2(Widget1):
    def __init__(self, parent=None):
        super().__init__(parent)

    def update_value(self, input_field, idx, var_type):
        try:
            value = float(input_field.toPlainText())
            if var_type == 'X':
                self.X[idx] = value
            elif var_type == 'A':
                self.A[idx] = value
            elif var_type == 'Teta':
                self.Teta = value
            self.update_label()
            self.parentWidget().parentWidget().parentWidget().update_kuo()
        except ValueError:
            pass


class Widget3(QWidget):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setFixedSize(QSize(1500, 900))  # Установка фиксированного размера для виджета
        self.values = {
            key: 1
            for key in [
                "Общее количество частей в высокотехнологичной продукции (teta)",
                "Количество оригинальных частей в высокотехнологичной продукции (teta_0)",
                "Количество оригинальных частей в высокотехнологичной продукции базового образца (teta_b_0)",
                "Требуемый уровень надежности (P_k_тр)",
                "Индекс потребительских цен (для базового t и года окончания tб НИОКР) (ИПЦ)",
                "Индекс цен производителей (для базового и года окончания НИОКР) (ИЦП)",
                "Стоимость базового образца (образца конкурента или образца аналога) на момент начала НИОКР, тыс.руб. (C_б)",
                "Доля затрат предприятия на фонд оплаты труда сторонним организациям в рамках выполнения работ, которые не могут быть выполнены сотрудниками предприятия (K_стор)",
                "Поправочный коэффициент корректировки заработной платы (K_с_н)",
                "Нормативный коэффициент накладных расходов (K_н_р)",
                "Время разработки аналога (t_a)"
            ]
        }
        self.input_fields = {}

        self.initUI()

    def initUI(self):
        layout = QVBoxLayout()

        # Create input fields
        for key in self.values.keys():
            h_layout = QHBoxLayout()
            text_browser = QTextBrowser()
            text_browser.setPlainText(key)
            text_browser.setFixedHeight(30)  # Задаем фиксированную высоту
            input_field = QPlainTextEdit()
            input_field.setFixedHeight(30)  # Задаем фиксированную высоту
            self.input_fields[key] = input_field
            button = QPushButton('Ввести')
            button.clicked.connect(lambda _, k=key, inf=input_field: self.update_value(inf, k))
            h_layout.addWidget(text_browser)
            h_layout.addWidget(input_field)
            h_layout.addWidget(button)
            layout.addLayout(h_layout)

        # Button to enter all values at once
        all_button = QPushButton('Ввести всё')
        all_button.clicked.connect(self.enter_all_values)
        layout.addWidget(all_button)

        # Create a grid layout for the labels
        grid_layout = QGridLayout()

        # Create labels for calculations
        self.labels = {}
        labels = [
            "Коэффициент приведения (K_пр)",
            "Коэффициент радикальности инноваций (K_р_и)",
            "Коэффициент радикальности инноваций базового образца (K_р_и_б_о)",
            "Коэф. изменения времени проведения испытаний (первичное) (Куис.)",
            "Время разработки искомого продукта (delta t)",
            "Себестоимость производства (C_p_п) (С учетом уровня технологичности)",
            "Себестоимость производства (C_p_п) (Без учета уровня технологичности)",
        ]

        # Разместите метки в сетке с 3 рядами 
        for i, label in enumerate(labels):
            lbl = QLabel(f"{label}: ")
            grid_layout.addWidget(lbl, i // 3, i % 3)  # Изменение на сетку 3 столбца
            self.labels[label] = lbl

        layout.addLayout(grid_layout)
        self.setLayout(layout)

    def update_value(self, input_field, key):
        try:
            value = float(input_field.toPlainText())
            self.values[key] = value
            self.update_labels()
        except ValueError:
            pass

    def enter_all_values(self):
        for key in self.input_fields.keys():
            self.update_value(self.input_fields[key], key)

    def update_labels(self):
        # Perform calculations
        teta = self.values[
            "Общее количество частей в высокотехнологичной продукции (teta)"
        ]
        teta_0 = self.values[
            "Количество оригинальных частей в высокотехнологичной продукции (teta_0)"
        ]
        teta_b_0 = self.values[
            "Количество оригинальных частей в высокотехнологичной продукции базового образца (teta_b_0)"
        ]
        P_k = self.values["Требуемый уровень надежности (P_k_тр)"]
        IPC = self.values[
            "Индекс потребительских цен (для базового t и года окончания tб НИОКР) (ИПЦ)"
        ]
        ICP = self.values[
            "Индекс цен производителей (для базового и года окончания НИОКР) (ИЦП)"
        ]
        C_b = self.values[
            "Стоимость базового образца (образца конкурента или образца аналога) на момент начала НИОКР, тыс.руб. (C_б)"
        ]
        K_stor = self.values[
            "Доля затрат предприятия на фонд оплаты труда сторонним организациям в рамках выполнения работ, которые не могут быть выполнены сотрудниками предприятия (K_стор)"
        ]
        K_s_n = self.values[
            "Поправочный коэффициент корректировки заработной платы (K_с_н)"
        ]
        K_n_r = self.values[
            "Нормативный коэффициент накладных расходов (K_н_р)"
        ]

        K_pr = (teta - teta_0) / teta
        K_rn = 1 - K_pr
        K_rnb = 1 - (teta - teta_b_0) / teta
        Kuis = 0.08 + 1.27 * P_k - 0.816 * K_pr
        label5 = Kuis / 0.973

        # Placeholder calculations for label6 and label7
        kuo = getattr(self.parentWidget().parentWidget().parentWidget(), "Относительный коэффицент технологического уклада:")
        label6 = (
            (
                0.2 * C_b * 0.5 * (IPC + ICP)
                + 0.25 * C_b * (IPC + ICP)
                + C_b * (IPC + ICP)
                + (C_b * K_rn) / K_rnb
                + C_b * K_pr * K_stor
                + C_b * K_pr
                + C_b * K_pr * K_s_n
                + C_b * K_pr * K_n_r
            )
            * Kuis
        ) * kuo
        label7 = (
            (
                0.2 * C_b * 0.5 * (IPC + ICP)
                + 0.25 * C_b * (IPC + ICP)
                + C_b * (IPC + ICP)
                + (C_b * K_rn) / K_rnb
                + C_b * K_pr * K_stor
                + C_b * K_pr
                + C_b * K_pr * K_s_n
                + C_b * K_pr * K_n_r
            )
            * Kuis
        )

        # Update label texts
        self.labels["Коэффициент приведения (K_пр)"].setText(
            f"Коэффициент приведения (K_пр): {K_pr:.10f}"
        )
        self.labels["Коэффициент радикальности инноваций (K_р_и)"].setText(
            f"Коэффициент радикальности инноваций (K_р_и): {K_rn:.10f}"
        )
        self.labels[
            "Коэффициент радикальности инноваций базового образца (K_р_и_б_о)"
        ].setText(
            f"Коэффициент радикальности инноваций базового образца (K_р_и_б_о): {K_rnb:.10f}"
        )
        self.labels[
            "Коэф. изменения времени проведения испытаний (первичное) (Куис.)"
        ].setText(
            f"Коэф. изменения времени проведения испытаний (первичное) (Куис.): {Kuis:.10f}"
        )
        self.labels["Время разработки искомого продукта (delta t)"].setText(
            f"Время разработки искомого продукта (delta t): {label5:.10f}"
        )
        self.labels[
            "Себестоимость производства (C_p_п) (С учетом уровня технологичности)"
        ].setText(
            f"Себестоимость производства (C_p_п) (С учетом уровня технологичности): {label6:.10f}"
        )
        self.labels[
            "Себестоимость производства (C_p_п) (Без учета уровня технологичности)"
        ].setText(
            f"Себестоимость производства (C_p_п) (Без учета уровня технологичности): {label7:.10f}"
        )


class MainWindow(QWidget):
    def __init__(self):
        super().__init__()
        self.setWindowTitle(
            "Программа оценки стоимости разработки и производства высокотехнологичной продукции с учетом требований надежности и уровня технологичности деталей, включенных в состав образца ВВСТ"
        )
        

        layout = QVBoxLayout()

        self.tabs = QTabWidget()
        self.widget1 = Widget1(self.tabs)
        self.widget2 = Widget2(self.tabs)
        self.widget3 = Widget3(self.tabs)

        self.tabs.addTab(self.widget1, "Widget 1")
        self.tabs.addTab(self.widget2, "Widget 2")
        self.tabs.addTab(self.widget3, "Widget 3")

        layout.addWidget(self.tabs)

        self.Kuo_label = QLabel("Относительный коэффицент технологического уклада:")
        layout.addWidget(self.Kuo_label)

        self.setLayout(layout)

    def update_kuo(self):
        res1 = float(self.widget1.result_label.text().split(": ")[1])
        res2 = float(self.widget2.result_label.text().split(": ")[1])
        self.Kuo = res2 / (res1 if res1 != 0 else 1)
        self.Kuo_label.setText(
            f"Относительный коэффицент технологического уклада: {self.Kuo:.10f}"
        )


def main():
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())


if __name__ == "__main__":
    main()