Как получить значение индекса comboBox в моем проекте?
После нажатия кнопки "Выбрать насосы" на основном окне, необходимо зафиксировать выбранные индексы comboBox при нажатии кнопки "Сохранить" в дополнительном окне "Типоразмеры насосов".
Моя программа не может определить эти индексы через:
a = ui.comboBox_npv.currentIndex()
Файл GUI.py прикладываю отдельно, так как необходимо соблюдать ограничение в количество символов.
main.py:
import sys
import time
from GUI import Ui_MainWindow
from pumps import Ui_PumpsWindow
from pumps2 import Ui_PumpsWindow2
from PyQt5 import QtCore, QtGui, QtWidgets
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
def PumpsWindow():
global PumpsWindow
PumpsWindow = QtWidgets.QMainWindow()
ui = Ui_PumpsWindow()
ui.setupUi(PumpsWindow)
MainWindow.hide()
time.sleep(0.2)
PumpsWindow.show()
ui.pushButton_save_pumps1.setEnabled(True)
ui.pushButton_next_pumps1.setEnabled(False)
ui.pushButton_save_pumps1.clicked.connect(save1)
def save1():
global a
ui = Ui_PumpsWindow()
ui.setupUi(PumpsWindow)
a = ui.comboBox_npv.currentIndex()
ui.pushButton_save_pumps1.setEnabled(False)
ui.pushButton_next_pumps1.setEnabled(True)
ui.pushButton_next_pumps1.clicked.connect(PumpsWindow2)
print(str(a))
def PumpsWindow2():
global PumpsWindow2
PumpsWindow2 = QtWidgets.QMainWindow()
ui = Ui_PumpsWindow2()
ui.setupUi(PumpsWindow2)
PumpsWindow.hide()
time.sleep(0.2)
PumpsWindow2.show()
ui.pushButton_save_pumps2.setEnabled(True)
ui.pushButton_next_pumps2.setEnabled(False)
ui.pushButton_save_pumps2.clicked.connect(save2)
def save2():
ui = Ui_PumpsWindow2()
ui.setupUi(PumpsWindow2)
ui.pushButton_save_pumps2.setEnabled(False)
ui.pushButton_next_pumps2.setEnabled(True)
ui.pushButton_next_pumps2.clicked.connect(returnToMainWindow)
def returnToMainWindow():
ui.pushButton_pumps.hide()
PumpsWindow2.hide()
time.sleep(0.3)
MainWindow.show()
def options():
global density, viscosity, diameter, wall_thickness, length, start_height, final_height, ost_napor, podpor1_a, \
podpor1_b, podpor2_a, podpor2_b, napor11_a, napor11_b, napor12_a, napor12_b, napor13_a, napor13_b, \
napor14_a, napor14_b, napor21_a, napor21_b, napor22_a, napor22_b, napor23_a, napor23_b, napor24_a, \
napor24_b, napor31_a, napor31_b, napor32_a, napor32_b, napor33_a, napor33_b, napor34_a, napor34_b
density = float(ui.spinBox_Density.value())
viscosity = float(ui.spinBox_Viscosity.value()) / 1000000
diameter = float(ui.spinBox_Diameter.value()) / 1000
wall_thickness = float(ui.spinBox_wall_thickness.value()) / 1000
length = float(ui.spinBox_Length.value()) * 1000
start_height = float(ui.spinBox_start_height.value())
final_height = float(ui.spinBox_final_height.value())
ost_napor = float(ui.spinBox_ost_napor.value())
ui.pushButton_pumps.clicked.connect(PumpsWindow)
ui.pushButton_calculate.clicked.connect(options)
sys.exit(app.exec_())
pumps.py:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_PumpsWindow(object):
def setupUi(self, PumpsWindow):
PumpsWindow.setObjectName("PumpsWindow")
PumpsWindow.resize(360, 250)
PumpsWindow.setMinimumSize(QtCore.QSize(360, 250))
PumpsWindow.setMaximumSize(QtCore.QSize(360, 250))
self.centralwidget = QtWidgets.QWidget(PumpsWindow)
self.centralwidget.setObjectName("centralwidget")
self.gridLayoutWidget_2 = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget_2.setGeometry(QtCore.QRect(10, 10, 202, 141))
self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.comboBox_npv = QtWidgets.QComboBox(self.gridLayoutWidget_2)
self.comboBox_npv.setMinimumSize(QtCore.QSize(200, 50))
self.comboBox_npv.setMaximumSize(QtCore.QSize(200, 50))
self.comboBox_npv.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_npv.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_npv.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_npv.setObjectName("comboBox_npv")
self.comboBox_npv.addItem("")
self.comboBox_npv.addItem("")
self.comboBox_npv.addItem("")
self.comboBox_npv.addItem("")
self.comboBox_npv.addItem("")
self.gridLayout_2.addWidget(self.comboBox_npv, 1, 0, 1, 1)
self.label_2 = QtWidgets.QLabel(self.gridLayoutWidget_2)
self.label_2.setMinimumSize(QtCore.QSize(200, 80))
self.label_2.setMaximumSize(QtCore.QSize(200, 80))
self.label_2.setStyleSheet("font: 16pt \"Arial\";")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setWordWrap(True)
self.label_2.setObjectName("label_2")
self.gridLayout_2.addWidget(self.label_2, 0, 0, 1, 1)
self.pushButton_save_pumps1 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_save_pumps1.setGeometry(QtCore.QRect(10, 170, 171, 70))
self.pushButton_save_pumps1.setStyleSheet("QPushButton {\n"
"font: 24pt \"Arial\";\n"
"border: 2px solid black;\n"
"background-color: rgb(174, 159, 220) ;\n"
"color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"border: 2px solid rgb(255, 255, 202);\n"
"background-color: rgb(177, 236, 170);\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
"border: 2px solid rgb(255, 187, 178);\n"
"background-color: rgb(204, 234, 235);\n"
"}")
self.pushButton_save_pumps1.setObjectName("pushButton_save_pumps1")
self.gridLayoutWidget = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget.setGeometry(QtCore.QRect(220, 10, 131, 141))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setObjectName("gridLayout")
self.label = QtWidgets.QLabel(self.gridLayoutWidget)
self.label.setMinimumSize(QtCore.QSize(120, 80))
self.label.setMaximumSize(QtCore.QSize(120, 80))
self.label.setStyleSheet("font: 16pt \"Arial\";")
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setWordWrap(True)
self.label.setObjectName("label")
self.gridLayout.addWidget(self.label, 0, 0, 1, 1)
self.comboBox_nm = QtWidgets.QComboBox(self.gridLayoutWidget)
self.comboBox_nm.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm.setObjectName("comboBox_nm")
self.comboBox_nm.addItem("")
self.comboBox_nm.addItem("")
self.comboBox_nm.addItem("")
self.comboBox_nm.addItem("")
self.comboBox_nm.addItem("")
self.gridLayout.addWidget(self.comboBox_nm, 1, 0, 1, 1)
self.pushButton_next_pumps1 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_next_pumps1.setEnabled(False)
self.pushButton_next_pumps1.setGeometry(QtCore.QRect(180, 170, 171, 70))
self.pushButton_next_pumps1.setStyleSheet("QPushButton {\n"
"font: 24pt \"Arial\";\n"
"border: 2px solid black;\n"
"background-color: rgb(174, 159, 220) ;\n"
"color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"border: 2px solid rgb(255, 255, 202);\n"
"background-color: rgb(177, 236, 170);\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
"border: 2px solid rgb(255, 187, 178);\n"
"background-color: rgb(204, 234, 235);\n"
"}")
self.pushButton_next_pumps1.setObjectName("pushButton_next_pumps1")
PumpsWindow.setCentralWidget(self.centralwidget)
self.retranslateUi(PumpsWindow)
QtCore.QMetaObject.connectSlotsByName(PumpsWindow)
def retranslateUi(self, PumpsWindow):
_translate = QtCore.QCoreApplication.translate
PumpsWindow.setWindowTitle(_translate("PumpsWindow", "Типоразмеры насосов"))
self.comboBox_npv.setItemText(0, _translate("PumpsWindow", "НМ1250-260"))
self.comboBox_npv.setItemText(1, _translate("PumpsWindow", "НМ2500-230"))
self.comboBox_npv.setItemText(2, _translate("PumpsWindow", "НМ3600-230"))
self.comboBox_npv.setItemText(3, _translate("PumpsWindow", "НМ7000-210"))
self.comboBox_npv.setItemText(4, _translate("PumpsWindow", "НМ10000-210"))
self.label_2.setText(_translate("PumpsWindow", "Типоразмер насосов на подпорной станции"))
self.pushButton_save_pumps1.setText(_translate("PumpsWindow", "Сохранить"))
self.label.setText(_translate("PumpsWindow", "Типоразмер насосов на НПС"))
self.comboBox_nm.setItemText(0, _translate("PumpsWindow", "НМ1250-260"))
self.comboBox_nm.setItemText(1, _translate("PumpsWindow", "НМ2500-230"))
self.comboBox_nm.setItemText(2, _translate("PumpsWindow", "НМ3600-230"))
self.comboBox_nm.setItemText(3, _translate("PumpsWindow", "НМ7000-210"))
self.comboBox_nm.setItemText(4, _translate("PumpsWindow", "НМ10000-210"))
self.pushButton_next_pumps1.setText(_translate("PumpsWindow", "Далее"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
PumpsWindow = QtWidgets.QMainWindow()
ui = Ui_PumpsWindow()
ui.setupUi(PumpsWindow)
PumpsWindow.show()
sys.exit(app.exec_())
pumps2.py:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_PumpsWindow2(object):
def setupUi(self, PumpsWindow2):
PumpsWindow2.setObjectName("PumpsWindow2")
PumpsWindow2.resize(510, 640)
PumpsWindow2.setMinimumSize(QtCore.QSize(510, 640))
PumpsWindow2.setMaximumSize(QtCore.QSize(510, 640))
self.centralwidget = QtWidgets.QWidget(PumpsWindow2)
self.centralwidget.setObjectName("centralwidget")
self.pushButton_save_pumps2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_save_pumps2.setGeometry(QtCore.QRect(0, 570, 251, 70))
self.pushButton_save_pumps2.setStyleSheet("QPushButton {\n"
"font: 24pt \"Arial\";\n"
"border: 2px solid black;\n"
"background-color: rgb(174, 159, 220) ;\n"
"color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"border: 2px solid rgb(255, 255, 202);\n"
"background-color: rgb(177, 236, 170);\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
"border: 2px solid rgb(255, 187, 178);\n"
"background-color: rgb(204, 234, 235);\n"
"}")
self.pushButton_save_pumps2.setObjectName("pushButton_save_pumps2")
self.gridLayoutWidget_5 = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget_5.setGeometry(QtCore.QRect(0, 0, 511, 141))
self.gridLayoutWidget_5.setObjectName("gridLayoutWidget_5")
self.gridLayout_7 = QtWidgets.QGridLayout(self.gridLayoutWidget_5)
self.gridLayout_7.setContentsMargins(0, 0, 0, 0)
self.gridLayout_7.setObjectName("gridLayout_7")
self.comboBox_npv1 = QtWidgets.QComboBox(self.gridLayoutWidget_5)
self.comboBox_npv1.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_npv1.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_npv1.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_npv1.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_npv1.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_npv1.setObjectName("comboBox_npv1")
self.comboBox_npv1.addItem("")
self.comboBox_npv1.addItem("")
self.comboBox_npv1.addItem("")
self.gridLayout_7.addWidget(self.comboBox_npv1, 1, 0, 1, 1)
self.label = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label.setMinimumSize(QtCore.QSize(120, 80))
self.label.setMaximumSize(QtCore.QSize(9999, 80))
self.label.setStyleSheet("font: 16pt \"Arial\";")
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setWordWrap(True)
self.label.setObjectName("label")
self.gridLayout_7.addWidget(self.label, 0, 0, 1, 2)
self.comboBox_npv2 = QtWidgets.QComboBox(self.gridLayoutWidget_5)
self.comboBox_npv2.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_npv2.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_npv2.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_npv2.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_npv2.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_npv2.setObjectName("comboBox_npv2")
self.comboBox_npv2.addItem("")
self.comboBox_npv2.addItem("")
self.comboBox_npv2.addItem("")
self.gridLayout_7.addWidget(self.comboBox_npv2, 1, 1, 1, 1)
self.gridLayoutWidget_6 = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget_6.setGeometry(QtCore.QRect(0, 280, 511, 141))
self.gridLayoutWidget_6.setObjectName("gridLayoutWidget_6")
self.gridLayout_8 = QtWidgets.QGridLayout(self.gridLayoutWidget_6)
self.gridLayout_8.setContentsMargins(0, 0, 0, 0)
self.gridLayout_8.setObjectName("gridLayout_8")
self.comboBox_nm_5 = QtWidgets.QComboBox(self.gridLayoutWidget_6)
self.comboBox_nm_5.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_5.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_5.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_5.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_5.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_5.setObjectName("comboBox_nm_5")
self.comboBox_nm_5.addItem("")
self.comboBox_nm_5.addItem("")
self.comboBox_nm_5.addItem("")
self.gridLayout_8.addWidget(self.comboBox_nm_5, 1, 0, 1, 1)
self.comboBox_nm_7 = QtWidgets.QComboBox(self.gridLayoutWidget_6)
self.comboBox_nm_7.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_7.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_7.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_7.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_7.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_7.setObjectName("comboBox_nm_7")
self.comboBox_nm_7.addItem("")
self.comboBox_nm_7.addItem("")
self.comboBox_nm_7.addItem("")
self.gridLayout_8.addWidget(self.comboBox_nm_7, 1, 2, 1, 1)
self.comboBox_nm_6 = QtWidgets.QComboBox(self.gridLayoutWidget_6)
self.comboBox_nm_6.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_6.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_6.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_6.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_6.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_6.setObjectName("comboBox_nm_6")
self.comboBox_nm_6.addItem("")
self.comboBox_nm_6.addItem("")
self.comboBox_nm_6.addItem("")
self.gridLayout_8.addWidget(self.comboBox_nm_6, 1, 1, 1, 1)
self.comboBox_nm_8 = QtWidgets.QComboBox(self.gridLayoutWidget_6)
self.comboBox_nm_8.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_8.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_8.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_8.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_8.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_8.setObjectName("comboBox_nm_8")
self.comboBox_nm_8.addItem("")
self.comboBox_nm_8.addItem("")
self.comboBox_nm_8.addItem("")
self.gridLayout_8.addWidget(self.comboBox_nm_8, 1, 3, 1, 1)
self.label_2 = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_2.setMinimumSize(QtCore.QSize(120, 80))
self.label_2.setMaximumSize(QtCore.QSize(9999, 80))
self.label_2.setStyleSheet("font: 16pt \"Arial\";")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setWordWrap(True)
self.label_2.setObjectName("label_2")
self.gridLayout_8.addWidget(self.label_2, 0, 0, 1, 4)
self.gridLayoutWidget_7 = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget_7.setGeometry(QtCore.QRect(0, 420, 511, 141))
self.gridLayoutWidget_7.setObjectName("gridLayoutWidget_7")
self.gridLayout_9 = QtWidgets.QGridLayout(self.gridLayoutWidget_7)
self.gridLayout_9.setContentsMargins(0, 0, 0, 0)
self.gridLayout_9.setObjectName("gridLayout_9")
self.comboBox_nm_9 = QtWidgets.QComboBox(self.gridLayoutWidget_7)
self.comboBox_nm_9.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_9.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_9.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_9.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_9.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_9.setObjectName("comboBox_nm_9")
self.comboBox_nm_9.addItem("")
self.comboBox_nm_9.addItem("")
self.comboBox_nm_9.addItem("")
self.gridLayout_9.addWidget(self.comboBox_nm_9, 1, 0, 1, 1)
self.comboBox_nm_11 = QtWidgets.QComboBox(self.gridLayoutWidget_7)
self.comboBox_nm_11.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_11.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_11.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_11.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_11.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_11.setObjectName("comboBox_nm_11")
self.comboBox_nm_11.addItem("")
self.comboBox_nm_11.addItem("")
self.comboBox_nm_11.addItem("")
self.gridLayout_9.addWidget(self.comboBox_nm_11, 1, 2, 1, 1)
self.comboBox_nm_10 = QtWidgets.QComboBox(self.gridLayoutWidget_7)
self.comboBox_nm_10.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_10.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_10.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_10.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_10.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_10.setObjectName("comboBox_nm_10")
self.comboBox_nm_10.addItem("")
self.comboBox_nm_10.addItem("")
self.comboBox_nm_10.addItem("")
self.gridLayout_9.addWidget(self.comboBox_nm_10, 1, 1, 1, 1)
self.comboBox_nm_12 = QtWidgets.QComboBox(self.gridLayoutWidget_7)
self.comboBox_nm_12.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_12.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_12.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_12.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_12.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_12.setObjectName("comboBox_nm_12")
self.comboBox_nm_12.addItem("")
self.comboBox_nm_12.addItem("")
self.comboBox_nm_12.addItem("")
self.gridLayout_9.addWidget(self.comboBox_nm_12, 1, 3, 1, 1)
self.label_5 = QtWidgets.QLabel(self.gridLayoutWidget_7)
self.label_5.setMinimumSize(QtCore.QSize(120, 80))
self.label_5.setMaximumSize(QtCore.QSize(9999, 80))
self.label_5.setStyleSheet("font: 16pt \"Arial\";")
self.label_5.setAlignment(QtCore.Qt.AlignCenter)
self.label_5.setWordWrap(True)
self.label_5.setObjectName("label_5")
self.gridLayout_9.addWidget(self.label_5, 0, 0, 1, 4)
self.gridLayoutWidget_8 = QtWidgets.QWidget(self.centralwidget)
self.gridLayoutWidget_8.setGeometry(QtCore.QRect(0, 140, 511, 141))
self.gridLayoutWidget_8.setObjectName("gridLayoutWidget_8")
self.gridLayout_10 = QtWidgets.QGridLayout(self.gridLayoutWidget_8)
self.gridLayout_10.setContentsMargins(0, 0, 0, 0)
self.gridLayout_10.setObjectName("gridLayout_10")
self.comboBox_nm_1 = QtWidgets.QComboBox(self.gridLayoutWidget_8)
self.comboBox_nm_1.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_1.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_1.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_1.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_1.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_1.setObjectName("comboBox_nm_1")
self.comboBox_nm_1.addItem("")
self.comboBox_nm_1.addItem("")
self.comboBox_nm_1.addItem("")
self.gridLayout_10.addWidget(self.comboBox_nm_1, 1, 0, 1, 1)
self.comboBox_nm_3 = QtWidgets.QComboBox(self.gridLayoutWidget_8)
self.comboBox_nm_3.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_3.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_3.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_3.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_3.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_3.setObjectName("comboBox_nm_3")
self.comboBox_nm_3.addItem("")
self.comboBox_nm_3.addItem("")
self.comboBox_nm_3.addItem("")
self.gridLayout_10.addWidget(self.comboBox_nm_3, 1, 2, 1, 1)
self.comboBox_nm_2 = QtWidgets.QComboBox(self.gridLayoutWidget_8)
self.comboBox_nm_2.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_2.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_2.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_2.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_2.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_2.setObjectName("comboBox_nm_2")
self.comboBox_nm_2.addItem("")
self.comboBox_nm_2.addItem("")
self.comboBox_nm_2.addItem("")
self.gridLayout_10.addWidget(self.comboBox_nm_2, 1, 1, 1, 1)
self.comboBox_nm_4 = QtWidgets.QComboBox(self.gridLayoutWidget_8)
self.comboBox_nm_4.setMinimumSize(QtCore.QSize(120, 50))
self.comboBox_nm_4.setMaximumSize(QtCore.QSize(120, 50))
self.comboBox_nm_4.setSizeIncrement(QtCore.QSize(120, 50))
self.comboBox_nm_4.setLayoutDirection(QtCore.Qt.LeftToRight)
self.comboBox_nm_4.setStyleSheet("font: 11pt \"Arial\";")
self.comboBox_nm_4.setObjectName("comboBox_nm_4")
self.comboBox_nm_4.addItem("")
self.comboBox_nm_4.addItem("")
self.comboBox_nm_4.addItem("")
self.gridLayout_10.addWidget(self.comboBox_nm_4, 1, 3, 1, 1)
self.label_6 = QtWidgets.QLabel(self.gridLayoutWidget_8)
self.label_6.setMinimumSize(QtCore.QSize(120, 80))
self.label_6.setMaximumSize(QtCore.QSize(9999, 80))
self.label_6.setStyleSheet("font: 16pt \"Arial\";")
self.label_6.setAlignment(QtCore.Qt.AlignCenter)
self.label_6.setWordWrap(True)
self.label_6.setObjectName("label_6")
self.gridLayout_10.addWidget(self.label_6, 0, 0, 1, 4)
self.pushButton_next_pumps2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_next_pumps2.setGeometry(QtCore.QRect(249, 570, 260, 70))
self.pushButton_next_pumps2.setStyleSheet("QPushButton {\n"
"font: 24pt \"Arial\";\n"
"border: 2px solid black;\n"
"background-color: rgb(174, 159, 220) ;\n"
"color: rgb(0, 0, 0);\n"
"}\n"
"\n"
"QPushButton:hover {\n"
"border: 2px solid rgb(255, 255, 202);\n"
"background-color: rgb(177, 236, 170);\n"
"}\n"
"\n"
"QPushButton:pressed {\n"
"border: 2px solid rgb(255, 187, 178);\n"
"background-color: rgb(204, 234, 235);\n"
"}")
self.pushButton_next_pumps2.setObjectName("pushButton_next_pumps2")
PumpsWindow2.setCentralWidget(self.centralwidget)
self.retranslateUi(PumpsWindow2)
QtCore.QMetaObject.connectSlotsByName(PumpsWindow2)
def retranslateUi(self, PumpsWindow2):
_translate = QtCore.QCoreApplication.translate
PumpsWindow2.setWindowTitle(_translate("PumpsWindow2", "Диаметры рабочих колёс"))
self.pushButton_save_pumps2.setText(_translate("PumpsWindow2", "Сохранить"))
self.comboBox_npv1.setItemText(0, _translate("PumpsWindow2", "525"))
self.comboBox_npv1.setItemText(1, _translate("PumpsWindow2", "500"))
self.comboBox_npv1.setItemText(2, _translate("PumpsWindow2", "475"))
self.label.setText(_translate("PumpsWindow2", "Диаметр рабочего колеса на подпорной станции"))
self.comboBox_npv2.setItemText(0, _translate("PumpsWindow2", "525"))
self.comboBox_npv2.setItemText(1, _translate("PumpsWindow2", "500"))
self.comboBox_npv2.setItemText(2, _translate("PumpsWindow2", "475"))
self.comboBox_nm_5.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_5.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_5.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_7.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_7.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_7.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_6.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_6.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_6.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_8.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_8.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_8.setItemText(2, _translate("PumpsWindow2", "385"))
self.label_2.setText(_translate("PumpsWindow2", "Диаметр рабочего колеса на НПС2"))
self.comboBox_nm_9.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_9.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_9.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_11.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_11.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_11.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_10.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_10.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_10.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_12.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_12.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_12.setItemText(2, _translate("PumpsWindow2", "385"))
self.label_5.setText(_translate("PumpsWindow2", "Диаметр рабочего колеса на НПС3"))
self.comboBox_nm_1.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_1.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_1.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_3.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_3.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_3.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_2.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_2.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_2.setItemText(2, _translate("PumpsWindow2", "385"))
self.comboBox_nm_4.setItemText(0, _translate("PumpsWindow2", "460"))
self.comboBox_nm_4.setItemText(1, _translate("PumpsWindow2", "418"))
self.comboBox_nm_4.setItemText(2, _translate("PumpsWindow2", "385"))
self.label_6.setText(_translate("PumpsWindow2", "Диаметр рабочего колеса на НПС1"))
self.pushButton_next_pumps2.setText(_translate("PumpsWindow2", "Далее"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
PumpsWindow2 = QtWidgets.QMainWindow()
ui = Ui_PumpsWindow2()
ui.setupUi(PumpsWindow2)
PumpsWindow2.show()
sys.exit(app.exec_())
Ответы (1 шт):
Автор решения: S. Nick
→ Ссылка
Я вам советую научиться составлять минимально-воспроизводимый пример, который касается вашей текущей проблемы, а не выставлять ваш полный проект, в котором не просто разобраться.
Я попробовал что-то сделать для вас, проверьте:
import sys
# ? import time
from PyQt5 import QtCore, QtGui, QtWidgets
from GUI import Ui_MainWindow
from pumps import Ui_PumpsWindow
from pumps2 import Ui_PumpsWindow2
# !!! +++ vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
class PumpsWindow(QtWidgets.QMainWindow, Ui_PumpsWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
class PumpsWindow2(QtWidgets.QMainWindow, Ui_PumpsWindow2):
def __init__(self):
super().__init__()
self.setupUi(self)
# !!! +++ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.cb_npv_currentIndex = None # ----> a
self.pushButton_pumps.clicked.connect(self.pumps_window)
self.pushButton_calculate.clicked.connect(self.options)
def pumps_window(self):
self.pumpsWindow = PumpsWindow() # !!! +++
self.hide()
self.pumpsWindow.show()
self.pumpsWindow.pushButton_save_pumps1.setEnabled(True)
self.pumpsWindow.pushButton_next_pumps1.setEnabled(False)
self.pumpsWindow.pushButton_save_pumps1.clicked.connect(self.save1)
def save1(self):
# a = ui.comboBox_npv.currentIndex()
self.cb_npv_currentIndex = self.pumpsWindow.comboBox_npv.currentIndex()
print(f'\nself.cb_npv_currentIndex = {self.cb_npv_currentIndex}\n') #
self.pumpsWindow.pushButton_save_pumps1.setEnabled(False)
self.pumpsWindow.pushButton_next_pumps1.setEnabled(True)
# ui.pushButton_next_pumps1.clicked.connect(PumpsWindow2)
self.pumpsWindow.pushButton_next_pumps1.clicked.connect(self.pumps_window2)
def options(self):
#? global density, viscosity, diameter, wall_thickness, length, start_height, final_height, ost_napor, podpor1_a, \
#? podpor1_b, podpor2_a, podpor2_b, napor11_a, napor11_b, napor12_a, napor12_b, napor13_a, napor13_b, \
#? napor14_a, napor14_b, napor21_a, napor21_b, napor22_a, napor22_b, napor23_a, napor23_b, napor24_a, \
#? napor24_b, napor31_a, napor31_b, napor32_a, napor32_b, napor33_a, napor33_b, napor34_a, napor34_b
# ----> vvvvvvvvvvvvvv <---------------------------------------- что это # ???
density = float(self.spinBox_Density.value())
viscosity = float(self.spinBox_Viscosity.value()) / 1000000
diameter = float(self.spinBox_Diameter.value()) / 1000
wall_thickness = float(self.spinBox_wall_thickness.value()) / 1000
length = float(self.spinBox_Length.value()) * 1000
start_height = float(self.spinBox_start_height.value())
final_height = float(self.spinBox_final_height.value())
ost_napor = float(self.spinBox_ost_napor.value())
# ----> ^^^^^^^^^^^^^ <---------------------------------------- что это # ???
print(f'density={density}; ...; ost_napor={ost_napor}') #
def pumps_window2(self):
# global PumpsWindow2
self.pumpsWindow2 = PumpsWindow2() # !!! +++
# ui = Ui_PumpsWindow2()
# ui.setupUi(PumpsWindow2)
self.pumpsWindow2.show()
self.pumpsWindow.hide()
# time.sleep(0.2)
# PumpsWindow2.show()
self.pumpsWindow2.pushButton_save_pumps2.setEnabled(True)
self.pumpsWindow2.pushButton_next_pumps2.setEnabled(False)
self.pumpsWindow2.pushButton_save_pumps2.clicked.connect(self.save2)
def save2(self):
# ui = Ui_PumpsWindow2()
# ui.setupUi(PumpsWindow2)
self.pumpsWindow2.pushButton_save_pumps2.setEnabled(False)
self.pumpsWindow2.pushButton_next_pumps2.setEnabled(True)
self.pumpsWindow2.pushButton_next_pumps2.clicked.connect(self.returnToMainWindow)
def returnToMainWindow(self):
# ? ui.pushButton_pumps.hide()
self.show()
self.pumpsWindow2.hide()
# time.sleep(0.3)
# MainWindow.show()
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.show()
sys.exit(app.exec())



