Как добавить n-ное количество строк в таблицу QtTableWidget?

Есть код, внутри него используется два окна,
в первом выводится таблица и несколько других объектов, размер таблицы изначально не полностью известен (известно лишь количество столбцов), количество строк задаётся из второго окна, после нажатия на кнопку "Ок", по нажатию на эту кнопку выполняется метод save() (изменяет глобальные переменные нужные для работы программы).

Нужно чтобы по нажатию кнопки активировался другой класс, чтобы он считал значение одной из глобальных переменных = n ** 0.5 и автоматически обновил состояние таблицы (появилось нужное количество строк).

Пробовал использовать appendRow и insertRow. При некоторых вариациях кода программа зависает и вылетает, при оставшихся просто не чего не происходит.
Спасибо за помощь!

код первого окна содержащего таблицу:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_nml(object):

    def __init__(self):
        super(Ui_nml, self).__init__()
        self.start = self.setupUi(self)

    def setupUi(self, nml):
        nml.setObjectName("nml")
        nml.setEnabled(True)
        nml.resize(524, 634)
        self.centralwidget = QtWidgets.QWidget(nml)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 10, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton.setFont(font)
        self.pushButton.setAutoRepeatDelay(500)
        self.pushButton.setAutoRepeatInterval(1500)
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(10, 80, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setAutoRepeatDelay(500)
        self.pushButton_2.setAutoRepeatInterval(1500)
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(10, 220, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_3.setFont(font)
        self.pushButton_3.setAutoRepeatDelay(500)
        self.pushButton_3.setAutoRepeatInterval(1500)
        self.pushButton_3.setObjectName("pushButton_3")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(185, 0, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(295, 0, 91, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(385, 0, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setGeometry(QtCore.QRect(187, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_4.setFont(font)
        self.pushButton_4.setAutoRepeatDelay(500)
        self.pushButton_4.setAutoRepeatInterval(1500)
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_5.setGeometry(QtCore.QRect(290, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_5.setFont(font)
        self.pushButton_5.setAutoRepeatDelay(500)
        self.pushButton_5.setAutoRepeatInterval(1500)
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_6.setGeometry(QtCore.QRect(393, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_6.setFont(font)
        self.pushButton_6.setAutoRepeatDelay(500)
        self.pushButton_6.setAutoRepeatInterval(1500)
        self.pushButton_6.setObjectName("pushButton_6")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(10, 560, 221, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.listWidget_4 = QtWidgets.QListWidget(self.centralwidget)
        self.listWidget_4.setGeometry(QtCore.QRect(240, 560, 253, 41))
        self.listWidget_4.setObjectName("listWidget_4")
        self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 150, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_7.setFont(font)
        self.pushButton_7.setAutoRepeatDelay(500)
        self.pushButton_7.setAutoRepeatInterval(1500)
        self.pushButton_7.setObjectName("pushButton_7")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(190, 30, 319, 421))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(3)
        self.tableWidget.setRowCount(1)
        self.twvh = self.tableWidget.verticalHeader()
        self.twvh.setVisible(False)
        self.twhh = self.tableWidget.horizontalHeader()
        self.twhh.setVisible(False)
        self.tableWidget.setHorizontalHeaderLabels(["","",""])
        nml.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(nml)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 567, 21))
        self.menubar.setObjectName("menubar")
        nml.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(nml)
        self.statusbar.setObjectName("statusbar")
        nml.setStatusBar(self.statusbar)

        self.retranslateUi(nml)
        QtCore.QMetaObject.connectSlotsByName(nml)

    def retranslateUi(self, nml):
        _translate = QtCore.QCoreApplication.translate
        nml.setWindowTitle(_translate("nml", "Программа минимизации логической "
                                             "формулы методом Куайна-Мак-Класски "
                                             "с использованием метода Петрика"))
        self.pushButton.setText(_translate("nml", "Открыть"))
        self.pushButton_2.setText(_translate("nml", "Создать"))
        self.pushButton_3.setText(_translate("nml", "Выход"))
        self.label.setText(_translate("nml", "  № строки"))
        self.label_2.setText(_translate("nml", "   Набор"))
        self.label_3.setText(_translate("nml", "  Значение"))
        self.pushButton_4.setText(_translate("nml", "Сохранить"))
        self.pushButton_5.setText(_translate("nml", "Сброс"))
        self.pushButton_6.setText(_translate("nml", "Расчёт"))
        self.label_4.setText(_translate("nml", " Результат минимизации"))
        self.pushButton_7.setText(_translate("nml", "Параметры\n минимизации"))

код второго окна предназначенного для задания глобальных переменных:

from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_nml_two(object):
    def __init__(self):
        super(Ui_nml_two, self).__init__()
        self.start = self.setupUi(self)


    def setupUi(self, nml):
        nml.setObjectName("MainWindow")
        nml.resize(472, 399)
        self.centralwidget = QtWidgets.QWidget(nml)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(120, 0, 261, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(10, 40, 331, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(10, 90, 331, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(350, 60, 113, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(350, 110, 113, 20))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(10, 140, 241, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(10, 190, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(10, 220, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(10, 250, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setGeometry(QtCore.QRect(50, 210, 21, 21))
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_4.setGeometry(QtCore.QRect(50, 240, 21, 21))
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_5.setGeometry(QtCore.QRect(50, 270, 21, 21))
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(10, 280, 171, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_8.setFont(font)
        self.label_8.setObjectName("label_8")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(170, 350, 75, 23))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton.setFont(font)
        self.pushButton.setAutoRepeatDelay(500)
        self.pushButton.setAutoRepeatInterval(1500)
        self.pushButton.setText('Ок')
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(260, 350, 75, 23))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setAutoRepeatDelay(500)
        self.pushButton_2.setAutoRepeatInterval(1500)
        self.pushButton_2.setText('Отмена')
        self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(180, 290, 70, 51))
        self.checkBox.setText("")
        self.checkBox.setIconSize(QtCore.QSize(50, 3))
        self.checkBox.setCheckable(True)
        self.checkBox.setChecked(False)
        self.checkBox.setAutoRepeatDelay(300)
        self.checkBox.setObjectName("checkBox")
        nml.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(nml)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 472, 21))
        self.menubar.setObjectName("menubar")
        nml.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(nml)
        self.statusbar.setObjectName("statusbar")
        nml.setStatusBar(self.statusbar)

        self.retranslateUi(nml)
        QtCore.QMetaObject.connectSlotsByName(nml)


    def retranslateUi(self, nml):
        _translate = QtCore.QCoreApplication.translate
        nml.setWindowTitle(_translate("MainWindow", "Параметры минимизации"))
        self.label.setText(_translate("MainWindow", "Параметры минимизации"))
        self.label_2.setText(_translate("MainWindow", "Колличество  входных  переменных :"))
        self.label_3.setText(_translate("MainWindow", "Колличество выходных переменных :"))
        self.label_4.setText(_translate("MainWindow", "Разрядность операндов :"))
        self.label_5.setText(_translate("MainWindow", "А ="))
        self.label_6.setText(_translate("MainWindow", "В ="))
        self.label_7.setText(_translate("MainWindow", "С ="))
        self.label_8.setText(_translate("MainWindow", "Учитывать знак  :"))

основной код:

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from functools import partial
from WindowOne import Ui_nml
from WindowTwo import Ui_nml_two


class mywindow(QtWidgets.QMainWindow, Ui_nml):
    def __init__(self):
        super(mywindow, self).__init__()
        self.pushButton_7.clicked.connect(partial(self.second_window_start))
        self.pushButton_3.clicked.connect(self.close)



    def second_window_start(self):
        self.sw = second_window()
        self.sw.show()


class second_window(QtWidgets.QMainWindow, Ui_nml_two):
    def __init__(self):
        super(second_window, self).__init__()
        self.pushButton.clicked.connect(partial(self.save))
        self.pushButton_2.clicked.connect(partial(self.close))




    def save(self):
        # начало переопределения глобальных переменных
        global p_C
        global p_B
        global p_A
        global p_output
        global p_input
        global minus
        p_input = self.lineEdit.text()
        p_output = self.lineEdit_2.text()
        p_A = self.lineEdit_3.text()
        p_B = self.lineEdit_4.text()
        p_C = self.lineEdit_5.text()
        minus = self.checkBox.isChecked()  # проверка состояния флажка
        # конец переопределения глобальных переменных
        table()
        self.close()

class table(QtWidgets.QMainWindow, Ui_nml):
    def table(self):
        global p_input
        self.tableWidget.insertRow(p_input)



if __name__ == '__main__':
    minus = True
    p_input = 0
    p_output = 0
    p_A = 0
    p_B = 0
    p_C = 0
    app = QtWidgets.QApplication([])
    application = mywindow()
    application.show()
    sys.exit(app.exec())

через appendRow:

class table(QtWidgets.QMainWindow, Ui_nml):
    def table(self):
        global p_input
        self.twar = QtGui.QStandardItem(self.tableWidget)
        self.twar.appendRow(p_input)

Конкретно хочу сделать так что бы после нажатия кнопки "Ок" во втором окне и переопределения переменных обновилось количество строк с изначального значения равного единице до значения 2 ** p_input, здесь это пока не начиналось делаться, ибо нужно было хотя бы разобраться как сделать это динамическое добавление, прошу прощения за возможно не правильное оформление.


Ответы (1 шт):

Автор решения: S. Nick

void QTableWidget::setRowCount(int rows)

Устанавливает количество строк в модели этой таблицы в rows.
Если это значение меньше, чем rowCount(), данные в ненужных строках отбрасываются.

import sys
from functools import partial
from PyQt5 import QtCore, QtGui, QtWidgets

#from WindowOne import Ui_nml
class Ui_nml(object):

    def __init__(self):
        super(Ui_nml, self).__init__()
        self.start = self.setupUi(self)

    def setupUi(self, nml):
        nml.setObjectName("nml")
        nml.setEnabled(True)
        nml.resize(524, 634)
        self.centralwidget = QtWidgets.QWidget(nml)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(10, 10, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton.setFont(font)
        self.pushButton.setAutoRepeatDelay(500)
        self.pushButton.setAutoRepeatInterval(1500)
        self.pushButton.setObjectName("pushButton")
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(10, 80, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setAutoRepeatDelay(500)
        self.pushButton_2.setAutoRepeatInterval(1500)
        self.pushButton_2.setObjectName("pushButton_2")
        self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_3.setGeometry(QtCore.QRect(10, 220, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_3.setFont(font)
        self.pushButton_3.setAutoRepeatDelay(500)
        self.pushButton_3.setAutoRepeatInterval(1500)
        self.pushButton_3.setObjectName("pushButton_3")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(185, 0, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(295, 0, 91, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(385, 0, 111, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_4.setGeometry(QtCore.QRect(187, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_4.setFont(font)
        self.pushButton_4.setAutoRepeatDelay(500)
        self.pushButton_4.setAutoRepeatInterval(1500)
        self.pushButton_4.setObjectName("pushButton_4")
        self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_5.setGeometry(QtCore.QRect(290, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_5.setFont(font)
        self.pushButton_5.setAutoRepeatDelay(500)
        self.pushButton_5.setAutoRepeatInterval(1500)
        self.pushButton_5.setObjectName("pushButton_5")
        self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_6.setGeometry(QtCore.QRect(393, 460, 100, 51))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_6.setFont(font)
        self.pushButton_6.setAutoRepeatDelay(500)
        self.pushButton_6.setAutoRepeatInterval(1500)
        self.pushButton_6.setObjectName("pushButton_6")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(10, 560, 221, 31))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.listWidget_4 = QtWidgets.QListWidget(self.centralwidget)
        self.listWidget_4.setGeometry(QtCore.QRect(240, 560, 253, 41))
        self.listWidget_4.setObjectName("listWidget_4")
        self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_7.setGeometry(QtCore.QRect(10, 150, 131, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_7.setFont(font)
        self.pushButton_7.setAutoRepeatDelay(500)
        self.pushButton_7.setAutoRepeatInterval(1500)
        self.pushButton_7.setObjectName("pushButton_7")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(190, 30, 319, 421))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(3)
        self.tableWidget.setRowCount(1)
        self.twvh = self.tableWidget.verticalHeader()
        self.twvh.setVisible(False)
        self.twhh = self.tableWidget.horizontalHeader()
        self.twhh.setVisible(False)
        self.tableWidget.setHorizontalHeaderLabels(["","",""])
        nml.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(nml)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 567, 21))
        self.menubar.setObjectName("menubar")
        nml.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(nml)
        self.statusbar.setObjectName("statusbar")
        nml.setStatusBar(self.statusbar)

        self.retranslateUi(nml)
        QtCore.QMetaObject.connectSlotsByName(nml)

    def retranslateUi(self, nml):
        _translate = QtCore.QCoreApplication.translate
        nml.setWindowTitle(_translate("nml", "Программа минимизации логической "
                                             "формулы методом Куайна-Мак-Класски "
                                             "с использованием метода Петрика"))
        self.pushButton.setText(_translate("nml", "Открыть"))
        self.pushButton_2.setText(_translate("nml", "Создать"))
        self.pushButton_3.setText(_translate("nml", "Выход"))
        self.label.setText(_translate("nml", "  № строки"))
        self.label_2.setText(_translate("nml", "   Набор"))
        self.label_3.setText(_translate("nml", "  Значение"))
        self.pushButton_4.setText(_translate("nml", "Сохранить"))
        self.pushButton_5.setText(_translate("nml", "Сброс"))
        self.pushButton_6.setText(_translate("nml", "Расчёт"))
        self.label_4.setText(_translate("nml", " Результат минимизации"))
        self.pushButton_7.setText(_translate("nml", "Параметры\n минимизации"))

#from WindowTwo import Ui_nml_two
class Ui_nml_two(object):
    def __init__(self):
        super(Ui_nml_two, self).__init__()
        self.start = self.setupUi(self)


    def setupUi(self, nml):
        nml.setObjectName("MainWindow")
        nml.resize(472, 399)
        self.centralwidget = QtWidgets.QWidget(nml)
        self.centralwidget.setObjectName("centralwidget")
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(120, 0, 261, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.label_2 = QtWidgets.QLabel(self.centralwidget)
        self.label_2.setGeometry(QtCore.QRect(10, 40, 331, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.label_3 = QtWidgets.QLabel(self.centralwidget)
        self.label_3.setGeometry(QtCore.QRect(10, 90, 331, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit.setGeometry(QtCore.QRect(350, 60, 113, 20))
        self.lineEdit.setObjectName("lineEdit")
        self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_2.setGeometry(QtCore.QRect(350, 110, 113, 20))
        self.lineEdit_2.setObjectName("lineEdit_2")
        self.label_4 = QtWidgets.QLabel(self.centralwidget)
        self.label_4.setGeometry(QtCore.QRect(10, 140, 241, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_4.setFont(font)
        self.label_4.setObjectName("label_4")
        self.label_5 = QtWidgets.QLabel(self.centralwidget)
        self.label_5.setGeometry(QtCore.QRect(10, 190, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.label_6 = QtWidgets.QLabel(self.centralwidget)
        self.label_6.setGeometry(QtCore.QRect(10, 220, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.label_7 = QtWidgets.QLabel(self.centralwidget)
        self.label_7.setGeometry(QtCore.QRect(10, 250, 41, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.lineEdit_3 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_3.setGeometry(QtCore.QRect(50, 210, 21, 21))
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.lineEdit_4 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_4.setGeometry(QtCore.QRect(50, 240, 21, 21))
        self.lineEdit_4.setObjectName("lineEdit_4")
        self.lineEdit_5 = QtWidgets.QLineEdit(self.centralwidget)
        self.lineEdit_5.setGeometry(QtCore.QRect(50, 270, 21, 21))
        self.lineEdit_5.setObjectName("lineEdit_5")
        self.label_8 = QtWidgets.QLabel(self.centralwidget)
        self.label_8.setGeometry(QtCore.QRect(10, 280, 171, 61))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.label_8.setFont(font)
        self.label_8.setObjectName("label_8")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setGeometry(QtCore.QRect(170, 350, 75, 23))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton.setFont(font)
        self.pushButton.setAutoRepeatDelay(500)
        self.pushButton.setAutoRepeatInterval(1500)
        self.pushButton.setText('Ок')
        self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton_2.setGeometry(QtCore.QRect(260, 350, 75, 23))
        font = QtGui.QFont()
        font.setPointSize(14)
        self.pushButton_2.setFont(font)
        self.pushButton_2.setAutoRepeatDelay(500)
        self.pushButton_2.setAutoRepeatInterval(1500)
        self.pushButton_2.setText('Отмена')
        self.checkBox = QtWidgets.QCheckBox(self.centralwidget)
        self.checkBox.setGeometry(QtCore.QRect(180, 290, 70, 51))
        self.checkBox.setText("")
        self.checkBox.setIconSize(QtCore.QSize(50, 3))
        self.checkBox.setCheckable(True)
        self.checkBox.setChecked(False)
        self.checkBox.setAutoRepeatDelay(300)
        self.checkBox.setObjectName("checkBox")
        nml.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(nml)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 472, 21))
        self.menubar.setObjectName("menubar")
        nml.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(nml)
        self.statusbar.setObjectName("statusbar")
        nml.setStatusBar(self.statusbar)

        self.retranslateUi(nml)
        QtCore.QMetaObject.connectSlotsByName(nml)


    def retranslateUi(self, nml):
        _translate = QtCore.QCoreApplication.translate
        nml.setWindowTitle(_translate("MainWindow", "Параметры минимизации"))
        self.label.setText(_translate("MainWindow", "Параметры минимизации"))
        self.label_2.setText(_translate("MainWindow", "Колличество  входных  переменных :"))
        self.label_3.setText(_translate("MainWindow", "Колличество выходных переменных :"))
        self.label_4.setText(_translate("MainWindow", "Разрядность операндов :"))
        self.label_5.setText(_translate("MainWindow", "А ="))
        self.label_6.setText(_translate("MainWindow", "В ="))
        self.label_7.setText(_translate("MainWindow", "С ="))
        self.label_8.setText(_translate("MainWindow", "Учитывать знак  :"))
        

class SecondWindow(QtWidgets.QMainWindow, Ui_nml_two):
# -------------------> vvvvvvvvvvv <---------------------------------
    def __init__(self, parent=None):
        super(SecondWindow, self).__init__(parent)
# ---------------------------------------> ^^^^^^ <------------------
        self.parent = parent                                          # !!! +++
        
#        self.pushButton.clicked.connect(partial(self.save))
        self.pushButton.clicked.connect(self.save)
        self.pushButton_2.clicked.connect(partial(self.close))

    def save(self):
        try:
# --------> vvvvvvvvvvv <------------------------------------------------ # !!! +++
            self.parent.p_input = int(self.lineEdit.text())
            self.parent.p_output = int(self.lineEdit_2.text())
            self.parent.p_A = int(self.lineEdit_3.text())
            self.parent.p_B = int(self.lineEdit_4.text())
            self.parent.p_C = int(self.lineEdit_5.text())
            self.parent.minus = self.checkBox.isChecked()  # проверка состояния флажка
        except Exception as e:
            msg = QtWidgets.QMessageBox.warning(
                self,
                'Внимание',
                f'Заполните правильно поля ввода. \n{e}'
            )
            return

        rows = 2 ** self.parent.p_input                                   # +++
        self.parent.tableWidget.setRowCount(rows)                         # !!! +++
        print(f'Строк в таблице: {self.parent.tableWidget.rowCount()}')   #
        self.close()


class MyWindow(QtWidgets.QMainWindow, Ui_nml):
    def __init__(self):
        super(MyWindow, self).__init__()
# !!! +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv        
        self.minus = True
        self.p_input = 0
        self.p_output = 0
        self.p_A = 0
        self.p_B = 0
        self.p_C = 0
# !!! +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        
        self.pushButton_7.clicked.connect(self.second_window_start)
        self.pushButton_3.clicked.connect(self.close)

    def second_window_start(self):
# ---------------------------> vvvv <--------------------------------
        self.sw = SecondWindow(self)
        self.sw.show()
        

if __name__ == '__main__':
    app = QtWidgets.QApplication([])
    application = MyWindow()
    application.show()
    sys.exit(app.exec())

введите сюда описание изображения

введите сюда описание изображения

→ Ссылка