def __init__(self, equipment=None, parent=None): """ equipment: instancia de equipo inicial """ super(UI_equipment, self).__init__(Screen, entrada=False, parent=parent) #Pestaña entrada # self.Entrada= UI_corriente.Ui_corriente(entrada) # self.Entrada.Changed.connect(self.cambiar_entrada) # self.tabWidget.insertTab(0, self.Entrada, QtGui.QApplication.translate("equipment", "Entrada", None, QtGui.QApplication.UnicodeUTF8)) #Pestaña calculo gridLayout_Calculo = QtGui.QGridLayout(self.tabCalculo) #Pestaña costos gridLayout_Costos = QtGui.QGridLayout(self.tabCostos) gridLayout_Costos.addWidget(QtGui.QLabel(QtGui.QApplication.translate("equipment", "Area:", None, QtGui.QApplication.UnicodeUTF8)), 1, 1, 1, 1) self.Area=Entrada_con_unidades(unidades.Area) self.Area.valueChanged.connect(self.calcularCostos) gridLayout_Costos.addWidget(self.Area, 1, 2, 1, 1) gridLayout_Costos.addItem(QtGui.QSpacerItem(20,20,QtGui.QSizePolicy.Fixed,QtGui.QSizePolicy.Fixed),2,0,1,2) self.Costos=CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) gridLayout_Costos.addWidget(self.Costos,4,1,2,5) gridLayout_Costos.addItem(QtGui.QSpacerItem(20,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding),6,0,1,6) gridLayout_Costos.addItem(QtGui.QSpacerItem(20,20,QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding),10,0,1,6) self.groupBox_Costos = QtGui.QGroupBox(QtGui.QApplication.translate("equipment", "Costos calculados", None, QtGui.QApplication.UnicodeUTF8)) gridLayout_Costos.addWidget(self.groupBox_Costos,7,0,1,6) gridLayout_5 = QtGui.QGridLayout(self.groupBox_Costos) gridLayout_5.addWidget(QtGui.QLabel(QtGui.QApplication.translate("equipment", "Coste Adquisición:", None, QtGui.QApplication.UnicodeUTF8)),0,1,1,1) self.C_adq=Entrada_con_unidades(unidades.Currency, retornar=False, readOnly=True) gridLayout_5.addWidget(self.C_adq,0,2,1,1) gridLayout_5.addWidget(QtGui.QLabel(QtGui.QApplication.translate("equipment", "Coste Instalación:", None, QtGui.QApplication.UnicodeUTF8)),1,1,1,1) self.C_inst=Entrada_con_unidades(unidades.Currency, retornar=False, readOnly=True) gridLayout_5.addWidget(self.C_inst,1,2,1,1) #Pestaña salida self.SalidaGas= UI_corriente.Ui_corriente(readOnly=True) self.SalidaSolido= UI_corriente.Ui_corriente(readOnly=True) self.Salida.addTab(self.SalidaGas,QtGui.QApplication.translate("equipment", "Gas filtrado", None, QtGui.QApplication.UnicodeUTF8)) self.Salida.addTab(self.SalidaSolido,QtGui.QApplication.translate("equipment", "Sólidos recogidos", None, QtGui.QApplication.UnicodeUTF8)) self.tabWidget.setCurrentIndex(0)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super(UI_equipment, self).__init__(Shell_Tube, parent=parent) # Input tab self.addEntrada(QtWidgets.QApplication.translate("pychemqt", "Tubes"), "entradaTubo") self.addEntrada(QtWidgets.QApplication.translate("pychemqt", "Shell"), "entradaCarcasa") # Model tab tab = QtWidgets.QWidget() self.tabWidget.insertTab( 1, tab, QtWidgets.QApplication.translate("pychemqt", "Model")) lyt = QtWidgets.QGridLayout(tab) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Class")), 2, 1) self.class_ = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_CLASS: self.class_.addItem(txt) self.class_.currentIndexChanged.connect( partial(self.changeParams, "class_")) lyt.addWidget(self.class_, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Front end head")), 3, 1) self.frontHead = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_FRONTHEAD: self.frontHead.addItem(txt) self.frontHead.currentIndexChanged.connect( partial(self.changeParams, "frontHead")) lyt.addWidget(self.frontHead, 3, 2, 1, 3) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shell type")), 4, 1) self.shell = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_SHELL: self.shell.addItem(txt) self.shell.currentIndexChanged.connect( partial(self.changeParams, "shell")) lyt.addWidget(self.shell, 4, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Rear end head")), 5, 1) self.rearHead = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_REARHEAD: self.rearHead.addItem(txt) self.rearHead.currentIndexChanged.connect( partial(self.changeParams, "rearHead")) lyt.addWidget(self.rearHead, 5, 2, 1, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 6, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Orientation")), 7, 1) self.orientacion = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_ORIENTATION: self.orientacion.addItem(txt) self.orientacion.currentIndexChanged.connect( partial(self.changeParams, "orientation")) lyt.addWidget(self.orientacion, 7, 2) botonMetodos = QtWidgets.QPushButton( QtWidgets.QApplication.translate("pychemqt", "Calculation methods")) botonMetodos.clicked.connect(self.selectMethods) lyt.addWidget(botonMetodos, 9, 1) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 10, 1, 1, 6) # Tubes tab tab = QtWidgets.QWidget() self.tabWidget.insertTab( 2, tab, QtWidgets.QApplication.translate("pychemqt", "Tubes")) lyt = QtWidgets.QGridLayout(tab) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Number of tubes")), 1, 1) self.NTubes = Entrada_con_unidades(int, width=60, spinbox=True, step=1) self.NTubes.valueChanged.connect(partial(self.changeParams, "NTube")) lyt.addWidget(self.NTubes, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Number of tube passes")), 2, 1) self.NPases = Entrada_con_unidades(int, width=60, spinbox=True, step=1) self.NPases.valueChanged.connect(partial(self.changeParams, "NPases")) lyt.addWidget(self.NPases, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube length")), 3, 1) self.LTube = Entrada_con_unidades(Length) self.LTube.valueChanged.connect(partial(self.changeParams, "LTube")) lyt.addWidget(self.LTube, 3, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube external diameter")), 4, 1) self.DeTube = Entrada_con_unidades(Length, "pipeDiameter") self.DeTube.valueChanged.connect(partial(self.changeParams, "DeTube")) lyt.addWidget(self.DeTube, 4, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube thickness")), 5, 1) self.wTube = Entrada_con_unidades(Length, "Thickness") self.wTube.valueChanged.connect(partial(self.changeParams, "wTube")) lyt.addWidget(self.wTube, 5, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube roughness")), 6, 1) self.rTube = Entrada_con_unidades(Length, "Thickness") self.rTube.valueChanged.connect(partial(self.changeParams, "rTube")) lyt.addWidget(self.rTube, 6, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Thermal conductivity")), 7, 1) self.kTube = Entrada_con_unidades(ThermalConductivity) self.kTube.valueChanged.connect(partial(self.changeParams, "kTube")) lyt.addWidget(self.kTube, 7, 2) self.buttonPipe = QtWidgets.QPushButton( QtWidgets.QApplication.translate("pychemqt", "Pipe Database")) self.buttonPipe.clicked.connect(self.showMaterial) lyt.addWidget(self.buttonPipe, 4, 4, 4, 1) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 8, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube pattern")), 9, 1) self.distribucionTube = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_DISTRIBUTION_TUBE: self.distribucionTube.addItem(txt) self.distribucionTube.currentIndexChanged.connect( partial(self.changeParams, "distribucionTube")) lyt.addWidget(self.distribucionTube, 9, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube pitch")), 10, 1) self.pitch = Entrada_con_unidades(Length) self.pitch.valueChanged.connect(partial(self.changeParams, "pitch")) lyt.addWidget(self.pitch, 10, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Fin Tube")), 11, 1) self.buttonFin = QtWidgets.QPushButton( QtWidgets.QApplication.translate("pychemqt", "Finned Pipe Database")) self.buttonFin.setEnabled(False) self.buttonFin.clicked.connect(self.showFinTube) lyt.addWidget(self.buttonFin, 11, 4, 1, 1) self.finned = QtWidgets.QComboBox() self.finned.addItem( QtWidgets.QApplication.translate("pychemqt", "Bared tube")) self.finned.addItem( QtWidgets.QApplication.translate("pychemqt", "Finned tube")) self.finned.currentIndexChanged.connect(self.finnedChanged) lyt.addWidget(self.finned, 11, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Fouling")), 12, 1) self.tubeFouling = FoulingWidget() self.tubeFouling.valueChanged.connect( partial(self.changeParams, "tubeFouling")) lyt.addWidget(self.tubeFouling, 12, 2, 1, 3) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 15, 1, 1, 6) # Shell tab tab = QtWidgets.QWidget() self.tabWidget.insertTab( 3, tab, QtWidgets.QApplication.translate("pychemqt", "Shell")) lyt = QtWidgets.QGridLayout(tab) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Exchangers in paralell")), 1, 1) self.paralelo = Entrada_con_unidades(int, width=60) self.paralelo.valueChanged.connect( partial(self.changeParams, "parallel")) lyt.addWidget(self.paralelo, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Exchangers in serie")), 2, 1) self.serie = Entrada_con_unidades(int, width=60) self.serie.valueChanged.connect(partial(self.changeParams, "serie")) lyt.addWidget(self.serie, 2, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 3, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shell Diameter")), 4, 1) self.DShell = Entrada_con_unidades(Length) self.DShell.valueChanged.connect(partial(self.changeParams, "DShell")) lyt.addWidget(self.DShell, 4, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 5, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shell Material")), 6, 1) self.materialShell = QtWidgets.QComboBox() lyt.addWidget(self.materialShell, 6, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 7, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Fouling")), 8, 1) self.shellFouling = FoulingWidget() self.shellFouling.valueChanged.connect( partial(self.changeParams, "shellFouling")) lyt.addWidget(self.shellFouling, 8, 2, 1, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 9, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Sealing Strips")), 10, 1) self.sealingStrips = Entrada_con_unidades(float) self.sealingStrips.valueChanged.connect( partial(self.changeParams, "sealingStrips")) lyt.addWidget(self.sealingStrips, 10, 2) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Clearances")) lyt.addWidget(group, 11, 1, 1, 6) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tube to baffle hole")), 1, 1) self.ClearanceTubeBaffle = Entrada_con_unidades(Length, "Thickness") self.ClearanceTubeBaffle.valueChanged.connect( partial(self.changeParams, "clearanceTubeBaffle")) lyt.addWidget(self.ClearanceTubeBaffle, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shell to baffle")), 2, 1) self.ClearanceShellBaffle = Entrada_con_unidades(Length, "Thickness") self.ClearanceShellBaffle.valueChanged.connect( partial(self.changeParams, "clearanceShellBaffle")) lyt.addWidget(self.ClearanceShellBaffle, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shell to bundle")), 3, 1) self.ClearanceShellBundle = Entrada_con_unidades(Length, "Thickness") self.ClearanceShellBundle.valueChanged.connect( partial(self.changeParams, "clearanceShellBundle")) lyt.addWidget(self.ClearanceShellBundle, 3, 2) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 15, 1, 1, 6) # Fitting tab tab = QtWidgets.QWidget() self.tabWidget.insertTab( 4, tab, QtWidgets.QApplication.translate("pychemqt", "Baffle")) lyt = QtWidgets.QGridLayout(tab) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Baffle type")), 1, 1) self.baffleType = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_BAFFLE_TYPE: self.baffleType.addItem(txt) self.baffleType.currentIndexChanged.connect( partial(self.changeParams, "baffleType")) lyt.addWidget(self.baffleType, 1, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 2, 1, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Inlet spacing")), 3, 1) self.baffleSpacingIn = Entrada_con_unidades(Length) self.baffleSpacingIn.valueChanged.connect( partial(self.changeParams, "baffleSpacingIn")) lyt.addWidget(self.baffleSpacingIn, 3, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Outlet spacing")), 3, 4) self.baffleSpacingOut = Entrada_con_unidades(Length) self.baffleSpacingOut.valueChanged.connect( partial(self.changeParams, "baffleSpacingOut")) lyt.addWidget(self.baffleSpacingOut, 3, 5) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Baffle spacing")), 4, 1) self.baffleSpacing = Entrada_con_unidades(Length) self.baffleSpacing.valueChanged.connect( partial(self.changeParams, "baffleSpacing")) lyt.addWidget(self.baffleSpacing, 4, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Baffle thickness")), 5, 1) self.baffleThickness = Entrada_con_unidades(Length, "Thickness") self.baffleThickness.valueChanged.connect( partial(self.changeParams, "baffleThickness")) lyt.addWidget(self.baffleThickness, 5, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Orientation")), 6, 1) self.baffleOrientation = QtWidgets.QComboBox() self.baffleOrientation.addItem( QtWidgets.QApplication.translate("pychemqt", "Horizontal")) self.baffleOrientation.addItem( QtWidgets.QApplication.translate("pychemqt", "Vertical")) self.baffleOrientation.currentIndexChanged.connect( partial(self.changeParams, "baffleOrientation")) lyt.addWidget(self.baffleOrientation, 6, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Cut percent")), 7, 1) self.baffleCut = Entrada_con_unidades(float, textounidad="%") self.baffleCut.valueChanged.connect( partial(self.changeParams, "baffleCut")) lyt.addWidget(self.baffleCut, 7, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Cut base")), 7, 4) self.baffleCutBase = QtWidgets.QComboBox() self.baffleCutBase.addItem( QtWidgets.QApplication.translate("pychemqt", "Diameter")) self.baffleCutBase.addItem( QtWidgets.QApplication.translate("pychemqt", "Area")) self.baffleCutBase.currentIndexChanged.connect( partial(self.changeParams, "baffleCutBase")) lyt.addWidget(self.baffleCutBase, 7, 5) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 1, 3, 6, 1) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 8, 1, 1, 6) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Nozzles")) lyt.addWidget(group, 9, 1, 1, 6) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Shellside")), 0, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Tubeside")), 0, 3) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Input diameter")), 1, 1) self.nozzleInShellsideDiameter = Entrada_con_unidades( Length, "PipeDiameter") self.nozzleInShellsideDiameter.valueChanged.connect( partial(self.changeParams, "nozzleInShellsideDiameter")) layout.addWidget(self.nozzleInShellsideDiameter, 1, 2) self.nozzleInTubesideDiameter = Entrada_con_unidades( Length, "PipeDiameter") self.nozzleInTubesideDiameter.valueChanged.connect( partial(self.changeParams, "nozzleInTubesideDiameter")) layout.addWidget(self.nozzleInTubesideDiameter, 1, 3) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Output diameter")), 2, 1) self.nozzleOutShellsideDiameter = Entrada_con_unidades( Length, "PipeDiameter") self.nozzleOutShellsideDiameter.valueChanged.connect( partial(self.changeParams, "nozzleOutShellsideDiameter")) layout.addWidget(self.nozzleOutShellsideDiameter, 2, 2) self.nozzleOutTubesideDiameter = Entrada_con_unidades( Length, "PipeDiameter") self.nozzleOutTubesideDiameter.valueChanged.connect( partial(self.changeParams, "nozzleOutTubesideDiameter")) layout.addWidget(self.nozzleOutTubesideDiameter, 2, 3) layout.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed), 1, 4, 2, 1) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 15, 1, 1, 6) # Calculate tab lyt = QtWidgets.QGridLayout(self.tabCalculo) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Calculation Mode")), 1, 1) self.modo = QtWidgets.QComboBox() self.modo.addItem( QtWidgets.QApplication.translate("pychemqt", "Rating")) self.modo.addItem( QtWidgets.QApplication.translate("pychemqt", "Design")) lyt.addWidget(self.modo, 1, 2) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 15, 1, 1, 6) # Cost tab lyt = QtWidgets.QGridLayout(self.tabCostos) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Type")), 1, 1) self.tipoCoste = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_COST_TYPE: self.tipoCoste.addItem(txt) self.tipoCoste.currentIndexChanged.connect( partial(self.changeParamsCoste, "tipoCoste")) lyt.addWidget(self.tipoCoste, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Material")), 2, 1) self.materialCoste = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_COST_MATERIAL: self.materialCoste.addItem(txt) self.materialCoste.currentIndexChanged.connect( partial(self.changeParamsCoste, "P_dis")) lyt.addWidget(self.materialCoste, 2, 2) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 3, 0, 1, 6) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Design Pressure")), 4, 1) self.Pdiseno = Entrada_con_unidades(Pressure) lyt.addWidget(self.Pdiseno, 4, 2, 1, 1) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 5, 0, 1, 6) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.calcularCostos) lyt.addWidget(self.Costos, 6, 1, 2, 5) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 8, 0, 1, 6) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 10, 0, 1, 6) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt.addWidget(group, 9, 1, 1, 5) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase Cost")), 0, 1) self.C_adq = Entrada_con_unidades(Currency, retornar=False, readOnly=True) layout.addWidget(self.C_adq, 0, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed Cost")), 1, 1) self.C_inst = Entrada_con_unidades(Currency, retornar=False, readOnly=True) self.C_inst.entrada.setReadOnly(True) layout.addWidget(self.C_inst, 1, 2) # Output Tab self.addSalida(QtWidgets.QApplication.translate("pychemqt", "Tubes")) self.addSalida(QtWidgets.QApplication.translate("pychemqt", "Shell")) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super().__init__(Pump, entrada=False, salida=False, parent=parent) self.curva = [0, 0, []] # Calculate tab lyt = QtWidgets.QGridLayout(self.tabCalculo) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Output Pressure")), 1, 1) self.Pout = Entrada_con_unidades(Pressure) self.Pout.valueChanged.connect(partial(self.cambiar_data, "Pout")) lyt.addWidget(self.Pout, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure increase")), 2, 1) self.deltaP = Entrada_con_unidades(Pressure) self.deltaP.valueChanged.connect(partial(self.cambiar_data, "deltaP")) lyt.addWidget(self.deltaP, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Head")), 3, 1) self.Carga = Entrada_con_unidades(Length, "Head") self.Carga.valueChanged.connect(partial(self.cambiar_data, "Carga")) lyt.addWidget(self.Carga, 3, 2) lyt.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 4, 1, 1, 2) self.usarCurva = QtWidgets.QCheckBox( QtWidgets.QApplication.translate("pychemqt", "Pump curve")) self.usarCurva.toggled.connect(self.usarCurvaToggled) lyt.addWidget(self.usarCurva, 5, 1, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 7, 1) self.rendimiento = Entrada_con_unidades(float, min=0, max=1, spinbox=True, step=0.01) self.rendimiento.valueChanged.connect( partial(self.cambiar_data, "rendimiento")) lyt.addWidget(self.rendimiento, 7, 2) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 8, 1, 1, 6) self.groupBox_Curva = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Pump curve")) self.groupBox_Curva.setEnabled(False) lyt.addWidget(self.groupBox_Curva, 5, 4, 3, 1) layout = QtWidgets.QGridLayout(self.groupBox_Curva) self.bottonCurva = QtWidgets.QPushButton( QtWidgets.QApplication.translate("pychemqt", "Curve")) self.bottonCurva.clicked.connect(self.bottonCurva_clicked) layout.addWidget(self.bottonCurva, 1, 1, 1, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Variable")), 2, 1) self.incognita = QtWidgets.QComboBox(self.tabCalculo) self.incognita.setToolTip( QtWidgets.QApplication.translate( "pychemqt", "If use curve, it can calculate the head or the flowrate, in that \ case it override flow of input stream")) self.incognita.addItem( QtWidgets.QApplication.translate("pychemqt", "Output pressure")) self.incognita.addItem( QtWidgets.QApplication.translate("pychemqt", "Flowrate")) self.incognita.currentIndexChanged.connect( partial(self.cambiar_data, "incognita")) layout.addWidget(self.incognita, 2, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Diameter")), 3, 1) self.diametro = Entrada_con_unidades(float, spinbox=True, step=0.1, suffix='"') self.diametro.valueChanged.connect( partial(self.cambiar_data, "diametro")) layout.addWidget(self.diametro, 3, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "RPM")), 4, 1) self.velocidad = Entrada_con_unidades(int, spinbox=True, step=1) self.velocidad.valueChanged.connect( partial(self.cambiar_data, "velocidad")) layout.addWidget(self.velocidad, 4, 2) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Results")) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Power")), 0, 0) self.power = Entrada_con_unidades(Power, retornar=False, readOnly=True) layout.addWidget(self.power, 0, 1) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Output Pressure")), 0, 4) self.PoutCalculada = Entrada_con_unidades(Pressure, retornar=False) self.PoutCalculada.setReadOnly(True) layout.addWidget(self.PoutCalculada, 0, 5) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Flowrate")), 1, 0) self.volflow = Entrada_con_unidades(VolFlow, "QLiq", retornar=False) self.volflow.setReadOnly(True) layout.addWidget(self.volflow, 1, 1) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Head")), 1, 4) self.headCalculada = Entrada_con_unidades(Length, retornar=False) self.headCalculada.setReadOnly(True) layout.addWidget(self.headCalculada, 1, 5) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 2, 0) self.rendimientoCalculado = Entrada_con_unidades(float, width=60) self.rendimientoCalculado.setReadOnly(True) layout.addWidget(self.rendimientoCalculado, 2, 1) layout.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum), 0, 3) lyt.addWidget(group, 9, 1, 1, 6) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 10, 1, 1, 6) # Design tab # self.tabDiseno = QtWidgets.QWidget() # lyt = QtWidgets.QGridLayout(self.tabDiseno) # lyt.addWidget(QtWidgets.QLabel(QtWidgets.QApplication.translate( # "pychemqt", # "Not implemented\n\nRef: Gülich - Centrifugal Pumps")), 0, 0) # self.tabWidget.insertTab( # 2, self.tabDiseno, # QtWidgets.QApplication.translate("pychemqt", "Design")) # Cost tab lyt = QtWidgets.QGridLayout(self.tabCostos) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pump type")), 1, 1) self.tipo_bomba = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_BOMBA: self.tipo_bomba.addItem(txt) self.tipo_bomba.currentIndexChanged.connect( self.bomba_currentIndexChanged) lyt.addWidget(self.tipo_bomba, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Centrifuge type")), 2, 1) self.tipo_centrifuga = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_CENTRIFUGA: self.tipo_centrifuga.addItem(txt) self.tipo_centrifuga.currentIndexChanged.connect( partial(self.changeParamsCoste, "tipo_centrifuga")) lyt.addWidget(self.tipo_centrifuga, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Material")), 3, 1) self.material = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.material.addItem(txt) self.material.currentIndexChanged.connect( partial(self.changeParamsCoste, "material")) lyt.addWidget(self.material, 3, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Motor type")), 4, 1) self.motor = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MOTOR: self.motor.addItem(txt) self.motor.currentIndexChanged.connect( partial(self.changeParamsCoste, "motor")) lyt.addWidget(self.motor, 4, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Motor RPM")), 5, 1) self.rpm = QtWidgets.QComboBox(self.tabCostos) for txt in self.Equipment.TEXT_RPM: self.rpm.addItem(txt) self.rpm.currentIndexChanged.connect( partial(self.changeParamsCoste, "rpm")) lyt.addWidget(self.rpm, 5, 2) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt.addWidget(self.Costos, 6, 1, 2, 4) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 7, 1, 1, 4) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated costs")) lyt.addWidget(group, 8, 1, 1, 4) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pump")), 0, 0) self.C_bomba = Entrada_con_unidades(Currency, retornar=False) self.C_bomba.setReadOnly(True) layout.addWidget(self.C_bomba, 0, 1) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Motor")), 1, 0) self.C_motor = Entrada_con_unidades(Currency, retornar=False) self.C_bomba.setReadOnly(True) layout.addWidget(self.C_motor, 1, 1) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase cost")), 0, 4) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) layout.addWidget(self.C_adq, 0, 5) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed cost")), 1, 4) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) layout.addWidget(self.C_inst, 1, 5) lyt.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 9, 1, 1, 4) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super(UI_equipment, self).__init__(Flash, entrada=False, parent=parent) # Calculate tab lyt_Calc = QtWidgets.QGridLayout(self.tabCalculo) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Method")), 0, 1) self.flash = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_FLASH: self.flash.addItem(txt) self.flash.currentIndexChanged.connect( partial(self.changeParams, "metodo")) lyt_Calc.addWidget(self.flash, 0, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 1, 1, 1, 6) # Cost tab lyt_Cost = QtWidgets.QGridLayout(self.tabCostos) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Orientation")), 0, 1) self.orientacion = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_ORIENTATION: self.orientacion.addItem(txt) self.orientacion.currentIndexChanged.connect( partial(self.changeParamsCoste, "orientacion")) lyt_Cost.addWidget(self.orientacion, 0, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Material")), 1, 1) self.material = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.material.addItem(txt) self.material.currentIndexChanged.connect( partial(self.changeParamsCoste, "material")) lyt_Cost.addWidget(self.material, 1, 2, 1, 4) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Density")), 2, 4) self.Densidad = Entrada_con_unidades(Density, "DenLiq") self.Densidad.valueChanged.connect( partial(self.changeParamsCoste, "densidad")) lyt_Cost.addWidget(self.Densidad, 2, 5) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Diameter")), 2, 1) self.diametro = Entrada_con_unidades(Length) self.diametro.valueChanged.connect( partial(self.changeParamsCoste, "diametro")) lyt_Cost.addWidget(self.diametro, 2, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Length")), 3, 1) self.longitud = Entrada_con_unidades(Length) self.longitud.valueChanged.connect( partial(self.changeParamsCoste, "longitud")) lyt_Cost.addWidget(self.longitud, 3, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Thickness")), 4, 1) self.espesor = Entrada_con_unidades(Length, "Thickness") self.espesor.valueChanged.connect( partial(self.changeParamsCoste, "espesor")) lyt_Cost.addWidget(self.espesor, 4, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Head type")), 5, 1) self.cabeza = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_HEAD: self.cabeza.addItem(txt) self.cabeza.currentIndexChanged.connect( partial(self.changeParamsCoste, "cabeza")) lyt_Cost.addWidget(self.cabeza, 5, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Head Thickness")), 6, 1) self.espesor_cabeza = Entrada_con_unidades(Length, "Thickness") self.espesor_cabeza.valueChanged.connect( partial(self.changeParamsCoste, "espesor_cabeza")) lyt_Cost.addWidget(self.espesor_cabeza, 6, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Straight flange length")), 7, 1) self.reborde = Entrada_con_unidades(Length) self.reborde.valueChanged.connect( partial(self.changeParamsCoste, "reborde")) lyt_Cost.addWidget(self.reborde, 7, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Volume")), 6, 4) self.Volumen = Entrada_con_unidades(Volume, "VolLiq", retornar=False) self.Volumen.setReadOnly(True) lyt_Cost.addWidget(self.Volumen, 6, 5) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Weight")), 7, 4) self.Peso = Entrada_con_unidades(Mass, readOnly=True) lyt_Cost.addWidget(self.Peso, 7, 5) lyt_Cost.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 2, 3, 6, 1) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 8, 0, 1, 6) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt_Cost.addWidget(self.Costos, 9, 1, 2, 5) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 11, 0, 1, 6) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt_Cost.addWidget(group, 12, 1, 1, 5) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase costs")), 0, 1) self.C_adq = Entrada_con_unidades(Currency, retornar=False, tolerancia=8, decimales=2) self.C_adq.setReadOnly(True) layout.addWidget(self.C_adq, 0, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed costs")), 1, 1) self.C_inst = Entrada_con_unidades(Currency, retornar=False, tolerancia=8, decimales=2) self.C_inst.setReadOnly(True) layout.addWidget(self.C_inst, 1, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 13, 0, 1, 6) # Output tab self.addSalida( QtWidgets.QApplication.translate("pychemqt", "Destilate")) self.addSalida(QtWidgets.QApplication.translate("pychemqt", "Residue")) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super().__init__(Fired_Heater, entrada=False, salida=False, parent=parent) # Calculate tab layout = QtWidgets.QGridLayout(self.tabCalculo) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Output Temperature")), 1, 1) self.Tout = Entrada_con_unidades(Temperature, resaltado=True) self.Tout.valueChanged.connect(partial(self.changeParams, "Tout")) layout.addWidget(self.Tout, 1, 2) layout.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 2, 0, 1, 6) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure drop")), 3, 1) self.deltaP = Entrada_con_unidades(Pressure) self.deltaP.valueChanged.connect(partial(self.changeParams, "deltaP")) layout.addWidget(self.deltaP, 3, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Maximum heat flux")), 4, 1) self.Hmax = Entrada_con_unidades(Power) self.Hmax.valueChanged.connect(partial(self.changeParams, "Hmax")) layout.addWidget(self.Hmax, 4, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Fuel calorific value")), 5, 1) self.poderCalorifico = Entrada_con_unidades(float) self.poderCalorifico.valueChanged.connect( partial(self.changeParams, "poderCalorifico")) layout.addWidget(self.poderCalorifico, 5, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 6, 1) self.eficiencia = Entrada_con_unidades(float, spinbox=True) self.eficiencia.valueChanged.connect( partial(self.changeParams, "eficiencia")) layout.addWidget(self.eficiencia, 6, 2) layout.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 7, 0, 1, 6) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Results")) layout.addWidget(group, 8, 1, 1, 5) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Heat")), 0, 1) self.Heat = Entrada_con_unidades(Power, retornar=False, readOnly=True) lyt.addWidget(self.Heat, 0, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Fuel")), 1, 1) self.CombustibleRequerido = Entrada_con_unidades(VolFlow, "QLiq", retornar=False, readOnly=True) lyt.addWidget(self.CombustibleRequerido, 1, 2) layout.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 9, 0, 1, 6) # Cost tab lyt_Cost = QtWidgets.QGridLayout(self.tabCostos) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Type")), 1, 1) self.tipo = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_TIPO: self.tipo.addItem(txt) self.tipo.currentIndexChanged.connect(self.mostrarSubclasificacion) lyt_Cost.addWidget(self.tipo, 1, 2) self.label = QtWidgets.QLabel() lyt_Cost.addWidget(self.label, 2, 1) self.subtipoBox = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_SUBTIPOBOX: self.subtipoBox.addItem(txt) self.subtipoBox.currentIndexChanged.connect( partial(self.changeParamsCoste, "subtipoBox")) lyt_Cost.addWidget(self.subtipoBox, 2, 2) self.subtipoCylindrical = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_SUBTIPOCYLINDRICAL: self.subtipoCylindrical.addItem(txt) self.subtipoCylindrical.currentIndexChanged.connect( partial(self.changeParamsCoste, "subtipoCylindrical")) lyt_Cost.addWidget(self.subtipoCylindrical, 2, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Material")), 3, 1) self.material = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.material.addItem(txt) self.material.currentIndexChanged.connect( partial(self.changeParamsCoste, "material")) lyt_Cost.addWidget(self.material, 3, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Design pressure")), 4, 1) self.P_dis = Entrada_con_unidades(Pressure) self.P_dis.valueChanged.connect( partial(self.changeParamsCoste, "P_dis")) lyt_Cost.addWidget(self.P_dis, 4, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 5, 1, 1, 6) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt_Cost.addWidget(self.Costos, 6, 1, 2, 5) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 8, 1, 1, 6) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt_Cost.addWidget(group, 9, 1, 1, 6) layout = QtWidgets.QGridLayout(group) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase costs")), 0, 1) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) layout.addWidget(self.C_adq, 0, 2) layout.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed costs")), 1, 1) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) layout.addWidget(self.C_inst, 1, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 10, 1, 1, 6) self.mostrarSubclasificacion(0) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super().__init__(Compressor, entrada=False, salida=False, parent=parent) # Calculate tab lyt_Calc = QtWidgets.QGridLayout(self.tabCalculo) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Method:")), 1, 1) self.metodo = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_METODO: self.metodo.addItem(txt) # self.metodo.addItem(QtWidgets.QApplication.translate( # "pychemqt", "Especificar curva de funcionamiento")) self.metodo.currentIndexChanged.connect( self.on_tipoCalculo_currentIndexChanged) lyt_Calc.addWidget(self.metodo, 1, 2, 1, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 2, 0, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Thermodynamic:")), 3, 1) self.termodinamica = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_TERMODINAMICA: self.termodinamica.addItem(txt) self.termodinamica.currentIndexChanged.connect( partial(self.changeParams, "termodinamica")) lyt_Calc.addWidget(self.termodinamica, 3, 2, 1, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 4, 0, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Out Pressure")), 5, 1) self.Pout = Entrada_con_unidades(Pressure) self.Pout.valueChanged.connect(partial(self.changeParams, "Pout")) lyt_Calc.addWidget(self.Pout, 5, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure ratio")), 6, 1) self.razon = Entrada_con_unidades(float) self.razon.valueChanged.connect(partial(self.changeParams, "razon")) lyt_Calc.addWidget(self.razon, 6, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 7, 1) self.rendimiento = Entrada_con_unidades(float) self.rendimiento.valueChanged.connect( partial(self.changeParams, "rendimiento")) lyt_Calc.addWidget(self.rendimiento, 7, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Actual Power")), 8, 1) self.trabajo = Entrada_con_unidades(Power) self.trabajo.valueChanged.connect(partial(self.changeParams, "trabajo")) lyt_Calc.addWidget(self.trabajo, 8, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Stages")), 9, 1) self.etapas = Entrada_con_unidades(int, spinbox=True, min=1, value=1, step=1) self.etapas.valueChanged.connect(partial(self.changeParams, "etapas")) lyt_Calc.addWidget(self.etapas, 9, 2) lyt_Calc.setRowStretch(10, 1) group = QtWidgets.QGroupBox() group.setTitle(QtWidgets.QApplication.translate("pychemqt", "Results")) lyt_Calc.addWidget(group, 12, 1, 1, 2) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Power")), 1, 1) self.power = Entrada_con_unidades(Power, retornar=False, readOnly=True) lyt.addWidget(self.power, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Cp/Cv ratio")), 2, 1) self.cp_cv = Entrada_con_unidades(float, retornar=False, readOnly=True) lyt.addWidget(self.cp_cv, 2, 2) lyt.setColumnStretch(3, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure ratio")), 1, 4) self.razonCalculada = Entrada_con_unidades(float, readOnly=True) lyt.addWidget(self.razonCalculada, 1, 5) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 2, 4) self.rendimientoCalculado = Entrada_con_unidades(float, readOnly=True) lyt.addWidget(self.rendimientoCalculado, 2, 5) # Cost tab lyt_Cost = QtWidgets.QGridLayout(self.tabCostos) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Compressor:")), 1, 1) self.compresor = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_COMPRESOR: self.compresor.addItem(txt) self.compresor.currentIndexChanged.connect( partial(self.changeParamsCoste, "compresor")) lyt_Cost.addWidget(self.compresor, 1, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Driver:")), 2, 1) self.transmision = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_TRANSMISION: self.transmision.addItem(txt) self.transmision.currentIndexChanged.connect( partial(self.changeParamsCoste, "transmision")) lyt_Cost.addWidget(self.transmision, 2, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Motor:")), 3, 1) self.motor = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MOTOR: self.motor.addItem(txt) self.motor.currentIndexChanged.connect( partial(self.changeParamsCoste, "motor")) lyt_Cost.addWidget(self.motor, 3, 2) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "RPM:")), 4, 1) self.rpm = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_RPM: self.rpm.addItem(txt) self.rpm.currentIndexChanged.connect( partial(self.changeParamsCoste, "rpm")) lyt_Cost.addWidget(self.rpm, 4, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Maximum), 5, 1, 1, 6) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt_Cost.addWidget(self.Costos, 6, 1, 1, 3) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 8, 1, 1, 6) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 10, 1, 1, 6) group = QtWidgets.QGroupBox() group.setTitle( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt_Cost.addWidget(group, 9, 1, 1, 5) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Compressor")), 0, 0) self.C_comp = Entrada_con_unidades(Currency, retornar=False) self.C_comp.setReadOnly(True) lyt.addWidget(self.C_comp, 0, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Drive")), 1, 0) self.C_trans = Entrada_con_unidades(Currency, retornar=False) self.C_trans.setReadOnly(True) lyt.addWidget(self.C_trans, 1, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Motor")), 2, 0) self.C_motor = Entrada_con_unidades(Currency, retornar=False) self.C_motor.setReadOnly(True) lyt.addWidget(self.C_motor, 2, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase cost")), 0, 4) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) lyt.addWidget(self.C_adq, 0, 5) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed cost")), 1, 4) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) lyt.addWidget(self.C_inst, 1, 5) self.on_tipoCalculo_currentIndexChanged(0) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super().__init__(Turbine, entrada=False, salida=False, parent=parent) # Calculate tab lyt_Calc = QtWidgets.QGridLayout(self.tabCalculo) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Method:")), 1, 1) self.metodo = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_METODO: self.metodo.addItem(txt) # self.metodo.addItem(QtWidgets.QApplication.translate( # "pychemqt", "Especificar curva de funcionamiento")) self.metodo.currentIndexChanged.connect( self.on_tipoCalculo_currentIndexChanged) lyt_Calc.addWidget(self.metodo, 1, 2, 1, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 2, 0, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Thermodynamic:")), 3, 1) self.termodinamica = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_TERMODINAMICA: self.termodinamica.addItem(txt) self.termodinamica.currentIndexChanged.connect( partial(self.changeParams, "termodinamica")) lyt_Calc.addWidget(self.termodinamica, 3, 2, 1, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 4, 0, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Out Pressure")), 5, 1) self.Pout = Entrada_con_unidades(Pressure) self.Pout.valueChanged.connect(partial(self.changeParams, "Pout")) lyt_Calc.addWidget(self.Pout, 5, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure ratio")), 6, 1) self.razon = Entrada_con_unidades(float) self.razon.valueChanged.connect(partial(self.changeParams, "razon")) lyt_Calc.addWidget(self.razon, 6, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 7, 1) self.rendimiento = Entrada_con_unidades(float) self.rendimiento.valueChanged.connect( partial(self.changeParams, "rendimiento")) lyt_Calc.addWidget(self.rendimiento, 7, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Actual Power")), 8, 1) self.trabajo = Entrada_con_unidades(Power) self.trabajo.valueChanged.connect(partial(self.changeParams, "trabajo")) lyt_Calc.addWidget(self.trabajo, 8, 2) lyt_Calc.setRowStretch(10, 1) group = QtWidgets.QGroupBox() group.setTitle(QtWidgets.QApplication.translate("pychemqt", "Results")) lyt_Calc.addWidget(group, 12, 1, 1, 2) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Power")), 1, 1) self.power = Entrada_con_unidades(Power, retornar=False, readOnly=True) lyt.addWidget(self.power, 1, 2) lyt.addWidget(QtWidgets.QLabel("Cp/Cv"), 2, 1) self.cp_cv = Entrada_con_unidades(float, retornar=False, readOnly=True) lyt.addWidget(self.cp_cv, 2, 2) lyt.setColumnStretch(3, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure ratio")), 1, 4) self.razonCalculada = Entrada_con_unidades(float, readOnly=True) lyt.addWidget(self.razonCalculada, 1, 5) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 2, 4) self.rendimientoCalculado = Entrada_con_unidades(float, readOnly=True) lyt.addWidget(self.rendimientoCalculado, 2, 5) # Cost tab lyt_Cost = QtWidgets.QGridLayout(self.tabCostos) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt_Cost.addWidget(self.Costos, 1, 0, 1, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 2, 0, 1, 2) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt_Cost.addWidget(group, 3, 0, 1, 2) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase cost")), 0, 1) self.C_adq = Entrada_con_unidades(Currency, retornar=False, readOnly=True) lyt.addWidget(self.C_adq, 0, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed cost")), 1, 1) self.C_inst = Entrada_con_unidades(Currency, retornar=False, readOnly=True) lyt.addWidget(self.C_inst, 1, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 4, 0, 1, 2) self.on_tipoCalculo_currentIndexChanged(0) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super().__init__(Ciclon, entrada=False, parent=parent) # Calculate tab lyt_Calc = QtWidgets.QGridLayout(self.tabCalculo) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Mode")), 0, 1, 1, 2) self.tipo_calculo = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_TIPO: self.tipo_calculo.addItem(txt) self.tipo_calculo.currentIndexChanged.connect( self.on_tipoCalculo_currentIndexChanged) lyt_Calc.addWidget(self.tipo_calculo, 0, 3, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Method")), 1, 1, 1, 2) self.modelo_rendimiento = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MODEL: self.modelo_rendimiento.addItem(txt) self.modelo_rendimiento.currentIndexChanged.connect( partial(self.changeParams, "modelo_rendimiento")) lyt_Calc.addWidget(self.modelo_rendimiento, 1, 3, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "ΔP method", None)), 2, 1, 1, 2) self.modelo_DeltaP = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MODEL_DELTAP: self.modelo_DeltaP.addItem(txt) self.modelo_DeltaP.currentIndexChanged.connect( partial(self.changeParams, "modelo_DeltaP")) lyt_Calc.addWidget(self.modelo_DeltaP, 2, 3, 1, 4) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Design model")), 3, 1, 1, 2) self.modelo_ciclon = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_MODEL_CICLON: self.modelo_ciclon.addItem(txt) self.modelo_ciclon.currentIndexChanged.connect( self.modeloEficiencia_Changed) lyt_Calc.addWidget(self.modelo_ciclon, 3, 3, 1, 4) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 4, 0, 1, 5) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Diameter")), 5, 1) self.Dc = Entrada_con_unidades(Length) self.Dc.valueChanged.connect(partial(self.changeParams, "Dc")) lyt_Calc.addWidget(self.Dc, 5, 2, 1, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 6, 1) self.rendimientoAdmisible = Entrada_con_unidades(float, spinbox=True) self.rendimientoAdmisible.valueChanged.connect( partial(self.changeParams, "rendimientoAdmisible")) lyt_Calc.addWidget(self.rendimientoAdmisible, 6, 2, 1, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Allowable ΔP", None)), 7, 1) self.DeltaPAdmisible = Entrada_con_unidades(Pressure) self.DeltaPAdmisible.valueChanged.connect( partial(self.changeParams, "DeltaPAdmisible")) lyt_Calc.addWidget(self.DeltaPAdmisible, 7, 2, 1, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Allowable speed")), 8, 1) self.velocidadAdmisible = Entrada_con_unidades(Speed) self.velocidadAdmisible.valueChanged.connect( partial(self.changeParams, "velocidadAdmisible")) lyt_Calc.addWidget(self.velocidadAdmisible, 8, 2, 1, 2) lyt_Calc.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "No. of ciclones")), 9, 1) self.num_ciclones = Entrada_con_unidades(int, spinbox=True, step=1, decimales=0, min=1) self.num_ciclones.valueChanged.connect( partial(self.changeParams, "num_ciclones")) lyt_Calc.addWidget(self.num_ciclones, 9, 2, 1, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 10, 0, 1, 4) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Results")) lyt_Calc.addWidget(group, 11, 1, 1, 3) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Efficiency")), 1, 1) self.rendimiento = Entrada_con_unidades(float, readOnly=True) lyt.addWidget(self.rendimiento, 1, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Pressure drop:")), 2, 1) self.deltaP = Entrada_con_unidades(DeltaP, readOnly=True) lyt.addWidget(self.deltaP, 2, 2) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Admission speed")), 3, 1) self.V = Entrada_con_unidades(Speed, readOnly=True) lyt.addWidget(self.V, 3, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Fixed, QtWidgets.QSizePolicy.Fixed), 5, 4, 7, 1) group2 = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Geometry")) lyt_Calc.addWidget(group2, 5, 5, 7, 1) lyt = QtWidgets.QGridLayout(group2) lyt.addWidget(QtWidgets.QLabel("D<sub>C</sub>"), 1, 1) self.Dcc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Dcc, 1, 2) lyt.addWidget(QtWidgets.QLabel("B<sub>C</sub>"), 2, 1) self.Bc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Bc, 2, 2) lyt.addWidget(QtWidgets.QLabel("H<sub>C</sub>"), 3, 1) self.Hc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Hc, 3, 2) lyt.addWidget(QtWidgets.QLabel("J<sub>C</sub>"), 4, 1) self.Jc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Jc, 4, 2) lyt.addWidget(QtWidgets.QLabel("L<sub>C</sub>"), 5, 1) self.Lc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Lc, 5, 2) lyt.addWidget(QtWidgets.QLabel("Z<sub>C</sub>"), 6, 1) self.Zc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Zc, 6, 2) lyt.addWidget(QtWidgets.QLabel("D<sub>e</sub>"), 7, 1) self.De = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.De, 7, 2) lyt.addWidget(QtWidgets.QLabel("S<sub>C</sub>"), 8, 1) self.Sc = Entrada_con_unidades(Length, boton=False) lyt.addWidget(self.Sc, 8, 2) lyt.addWidget(QtWidgets.QLabel("N"), 9, 1) self.NCalc = Entrada_con_unidades(int, readOnly=True) lyt.addWidget(self.NCalc, 9, 2) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 0, 7, 10, 1) lyt_Calc.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 5, 6, 10, 1) image = QtWidgets.QLabel() path = os.environ["CheProcess"] + "/images/equip/ciclon.gif" image.setPixmap(QtGui.QPixmap(path)) image.setScaledContents(True) sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding) image.setSizePolicy(sizePolicy) lyt_Calc.addWidget(image, 0, 8, 12, 1) # Cost tab lyt_Cost = QtWidgets.QGridLayout(self.tabCostos) lyt_Cost.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Model")), 1, 1) self.tipo_costo = QtWidgets.QComboBox() for txt in self.Equipment.TEXT_COST: self.tipo_costo.addItem(txt) self.tipo_costo.currentIndexChanged.connect( partial(self.changeParamsCoste, "tipo_costo")) lyt_Cost.addWidget(self.tipo_costo, 1, 2) lyt_Cost.addItem( QtWidgets.QSpacerItem(10, 10, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Fixed), 1, 3) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt_Cost.addWidget(self.Costos, 3, 1, 1, 3) lyt_Cost.addItem( QtWidgets.QSpacerItem(20, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding), 4, 1, 1, 3) group = QtWidgets.QGroupBox( QtWidgets.QApplication.translate("pychemqt", "Stimated Costs")) lyt_Cost.addWidget(group, 5, 1, 1, 3) lyt = QtWidgets.QGridLayout(group) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Number")), 0, 0) self.num_ciclonesCoste = Entrada_con_unidades(int, readOnly=True) lyt.addWidget(self.num_ciclonesCoste, 0, 1, 1, 3) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Volumetric Flow")), 1, 0) self.Q = Entrada_con_unidades(VolFlow, "QGas", retornar=False) self.Q.setReadOnly(True) lyt.addWidget(self.Q, 1, 1) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Purchase cost")), 0, 3) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) lyt.addWidget(self.C_adq, 0, 4) lyt.addWidget( QtWidgets.QLabel( QtWidgets.QApplication.translate("pychemqt", "Installed cost")), 1, 3) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) lyt.addWidget(self.C_inst, 1, 4) # Output tab self.addSalida( QtWidgets.QApplication.translate("pychemqt", "Filtered gas")) self.addSalida( QtWidgets.QApplication.translate("pychemqt", "Collected solids")) self.on_tipoCalculo_currentIndexChanged(0) self.modeloEficiencia_Changed(0) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super(UI_equipment, self).__init__(Hairpin, parent=parent) # Input tab self.addEntrada(QtGui.QApplication.translate("pychemqt", "Tube"), "entradaTubo") self.addEntrada(QtGui.QApplication.translate("pychemqt", "Annulli"), "entradaExterior") # Pipe catalog tab tabCatalogo = QtGui.QWidget() self.tabWidget.insertTab( 1, tabCatalogo, QtGui.QApplication.translate("pychemqt", "Catalog")) lyt = QtGui.QGridLayout(tabCatalogo) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Tube length")), 4, 1) self.LTube = Entrada_con_unidades(Length) self.LTube.valueChanged.connect(partial(self.changeParams, "LTube")) lyt.addWidget(self.LTube, 4, 2) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 5, 1) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Tube internal diameter")), 6, 1) self.DiTube = Entrada_con_unidades(Length, "pipeDiameter") self.DiTube.valueChanged.connect(partial(self.changeParams, "DiTube")) lyt.addWidget(self.DiTube, 6, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Tube external diameter")), 7, 1) self.DeTube = Entrada_con_unidades(Length, "pipeDiameter") self.DeTube.valueChanged.connect(partial(self.changeParams, "DeTube")) lyt.addWidget(self.DeTube, 7, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Tube thickness")), 8, 1) self.wTube = Entrada_con_unidades(Length, "Thickness") self.wTube.valueChanged.connect(partial(self.changeParams, "wTube")) lyt.addWidget(self.wTube, 8, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Tube roughness")), 9, 1) self.rTube = Entrada_con_unidades(Length, "Thickness") self.rTube.valueChanged.connect(partial(self.changeParams, "rTube")) lyt.addWidget(self.rTube, 9, 2) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 10, 1) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Annulli external diameter")), 11, 1) self.DeeTube = Entrada_con_unidades(Length, "pipeDiameter") self.DeeTube.valueChanged.connect(partial(self.changeParams, "DeeTube")) lyt.addWidget(self.DeeTube, 11, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Thermal conductivity")), 12, 1) self.kTube = Entrada_con_unidades(ThermalConductivity) self.kTube.valueChanged.connect(partial(self.changeParams, "kTube")) lyt.addWidget(self.kTube, 12, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Tube Count")), 13, 1) self.nTube = Entrada_con_unidades(int) self.nTube.valueChanged.connect(partial(self.changeParams, "nTube")) lyt.addWidget(self.nTube, 13, 2) buttonPipe = QtGui.QPushButton( QtGui.QApplication.translate("pychemqt", "Pipe Database")) buttonPipe.clicked.connect(self.showMaterial) lyt.addWidget(buttonPipe, 6, 3, 4, 1) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 14, 1) self.tubeFinned = QtGui.QCheckBox( QtGui.QApplication.translate("pychemqt", "Finned Tube")) lyt.addWidget(self.tubeFinned, 15, 1, 1, 4) self.buttonFin = QtGui.QPushButton( QtGui.QApplication.translate("pychemqt", "Finned Pipe Database")) self.buttonFin.setEnabled(False) self.buttonFin.clicked.connect(self.showFinTube) lyt.addWidget(self.buttonFin, 15, 3) self.tubeFinned.toggled.connect( partial(self.changeParams, "tubeFinned")) self.tubeFinned.toggled.connect(self.buttonFin.setEnabled) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Inside Fouling")), 16, 1) self.tubeFouling = FoulingWidget() self.tubeFouling.valueChanged.connect( partial(self.changeParams, "tubeFouling")) lyt.addWidget(self.tubeFouling, 16, 2, 1, 5) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Outside Fouling")), 17, 1) self.annulliFouling = FoulingWidget() self.annulliFouling.valueChanged.connect( partial(self.changeParams, "annulliFouling")) lyt.addWidget(self.annulliFouling, 17, 2, 1, 5) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 20, 1, 1, 6) # Calculate tab lyt = QtGui.QGridLayout(self.tabCalculo) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Mode")), 1, 1) self.modo = QtGui.QComboBox() for txt in self.Equipment.TEXT_MODO: self.modo.addItem(txt) self.modo.currentIndexChanged.connect( partial(self.changeParams, "modo")) lyt.addWidget(self.modo, 1, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Flujo")), 2, 1) self.flujo = QtGui.QComboBox() for txt in self.Equipment.TEXT_FLUJO: self.flujo.addItem(txt) self.flujo.currentIndexChanged.connect( partial(self.changeParams, "flujo")) lyt.addWidget(self.flujo, 2, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Layout")), 3, 1) self.orientacion = QtGui.QComboBox() for txt in self.Equipment.TEXT_ORIENTACION: self.orientacion.addItem(txt) self.orientacion.currentIndexChanged.connect( partial(self.changeParams, "orientacion")) lyt.addWidget(self.orientacion, 3, 2) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 4, 1) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Output inside temperature")), 5, 1) self.tubeTout = Entrada_con_unidades(Temperature) self.tubeTout.valueChanged.connect( partial(self.changeParams, "tubeTout")) lyt.addWidget(self.tubeTout, 5, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Output annulli temperature")), 6, 1) self.annulliTout = Entrada_con_unidades(Temperature) self.annulliTout.valueChanged.connect( partial(self.changeParams, "annulliTout")) lyt.addWidget(self.annulliTout, 6, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Output inside quality")), 5, 4) self.tubeXout = Entrada_con_unidades(float) self.tubeXout.valueChanged.connect( partial(self.changeParams, "tubeXout")) lyt.addWidget(self.tubeXout, 5, 5) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Output annulli quality")), 6, 4) self.annulliXout = Entrada_con_unidades(float) self.annulliXout.valueChanged.connect( partial(self.changeParams, "annulliXout")) lyt.addWidget(self.annulliXout, 6, 5) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 15, 1, 1, 6) group = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Results")) lyt.addWidget(group, 16, 1, 1, 6) layout = QtGui.QGridLayout(group) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Heat Duty")), 0, 1) self.Q = Entrada_con_unidades(Power, retornar=False, readOnly=True) layout.addWidget(self.Q, 0, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Tout Tube")), 1, 1) self.ToutTube = Entrada_con_unidades(Temperature, retornar=False) self.ToutTube.setReadOnly(True) layout.addWidget(self.ToutTube, 1, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Tout Tube")), 2, 1) self.ToutAnnulli = Entrada_con_unidades(Temperature, retornar=False) self.ToutAnnulli.setReadOnly(True) layout.addWidget(self.ToutAnnulli, 2, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "U")), 0, 4) self.U = Entrada_con_unidades(HeatTransfCoef, retornar=False) self.U.setReadOnly(True) layout.addWidget(self.U, 0, 5) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Area")), 1, 4) self.A = Entrada_con_unidades(Area, retornar=False, readOnly=True) layout.addWidget(self.A, 1, 5) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Lenght")), 2, 4) self.L = Entrada_con_unidades(Length, retornar=False, readOnly=True) layout.addWidget(self.L, 2, 5) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "DeltaP Tube")), 0, 7) self.deltaPTube = Entrada_con_unidades(DeltaP, retornar=False) self.deltaPTube.setReadOnly(True) layout.addWidget(self.deltaPTube, 0, 8) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "DeltaP Annulli")), 1, 7) self.deltaPAnnulli = Entrada_con_unidades(DeltaP, retornar=False) self.deltaPAnnulli.setReadOnly(True) layout.addWidget(self.deltaPAnnulli, 1, 8) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "CF")), 2, 7) self.CF = Entrada_con_unidades(float, retornar=False, readOnly=True) layout.addWidget(self.CF, 2, 8) lyt.addItem( QtGui.QSpacerItem(0, 0, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 17, 1, 1, 6) # Cost tab lyt = QtGui.QGridLayout(self.tabCostos) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Material")), 2, 1) self.material = QtGui.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.material.addItem(txt) self.material.currentIndexChanged.connect( partial(self.changeParamsCoste, "material")) lyt.addWidget(self.material, 2, 2) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 3, 0, 1, 6) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Design Pressure")), 4, 1) self.P_dis = Entrada_con_unidades(Pressure) self.P_dis.valueChanged.connect( partial(self.changeParamsCoste, "P_dis")) lyt.addWidget(self.P_dis, 4, 2, 1, 1) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 5, 0, 1, 6) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt.addWidget(self.Costos, 6, 1, 2, 5) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 8, 0, 1, 6) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 10, 0, 1, 6) group = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Stimated Costs")) lyt.addWidget(group, 9, 1, 1, 5) layout = QtGui.QGridLayout(group) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Purchase Cost")), 0, 1) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) layout.addWidget(self.C_adq, 0, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Installed Cost")), 1, 1) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) self.C_inst.entrada.setReadOnly(True) layout.addWidget(self.C_inst, 1, 2) # Output Tab self.addSalida(QtGui.QApplication.translate("pychemqt", "Tube")) self.addSalida(QtGui.QApplication.translate("pychemqt", "Annulli")) if equipment: self.setEquipment(equipment)
def __init__(self, equipment=None, parent=None): """ equipment: Initial equipment instance to model """ super(UI_equipment, self).__init__(ColumnFUG, entrada=False, parent=parent) # Calculate tab lyt = QtGui.QGridLayout(self.tabCalculo) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Feed tray")), 2, 0) self.feed = QtGui.QComboBox() for txt in self.Equipment.TEXT_FEED: self.feed.addItem(txt) self.feed.currentIndexChanged.connect( partial(self.changeParams, "feed")) lyt.addWidget(self.feed, 2, 1) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Condenser")), 3, 0) self.condenser = QtGui.QComboBox() for txt in self.Equipment.TEXT_CONDENSER: self.condenser.addItem(txt) self.condenser.currentIndexChanged.connect( partial(self.changeParams, "condenser")) lyt.addWidget(self.condenser, 3, 1) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 4, 0, 1, 5) group = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Key Components specification")) lyt.addWidget(group, 5, 0, 1, 5) layout = QtGui.QGridLayout(group) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Light")), 1, 1) self.LK = QtGui.QComboBox() layout.addWidget(self.LK, 1, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Split in destilate")), 1, 4) self.LKsplit = Entrada_con_unidades(float, spinbox=True, max=1.) self.LKsplit.valueChanged.connect(partial(self.changeParams, "LKsplit")) layout.addWidget(self.LKsplit, 1, 5) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Heavy")), 2, 1) self.HK = QtGui.QComboBox() layout.addWidget(self.HK, 2, 2) layout.addItem( QtGui.QSpacerItem(40, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 2, 3) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Spit in residue")), 2, 4) self.HKsplit = Entrada_con_unidades(float, spinbox=True, max=1.) self.HKsplit.valueChanged.connect(partial(self.changeParams, "HKsplit")) layout.addWidget(self.HKsplit, 2, 5) indices, nombres, M = getComponents() for i, nombre in enumerate(nombres): self.LK.addItem("%i - %s" % (i + 1, nombre)) self.HK.addItem("%i - %s" % (i + 1, nombre)) self.LK.setCurrentIndex(-1) self.HK.setCurrentIndex(-1) self.LK.currentIndexChanged.connect(partial(self.changeParams, "LK")) self.HK.currentIndexChanged.connect(partial(self.changeParams, "HK")) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 6, 0, 1, 5) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Reflux ratio")), 7, 0) self.R = Entrada_con_unidades(float) self.R.valueChanged.connect(partial(self.changeParams, "R")) lyt.addWidget(self.R, 7, 1) lyt.addWidget(QtGui.QLabel("R/Rmin"), 8, 0) self.R_Rmin = Entrada_con_unidades(float) self.R_Rmin.valueChanged.connect(partial(self.changeParams, "R_Rmin")) lyt.addWidget(self.R_Rmin, 8, 1) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Design Pressure")), 7, 3) self.Pd = Entrada_con_unidades(Pressure) self.Pd.valueChanged.connect(partial(self.changeParams, "Pd")) lyt.addWidget(self.Pd, 7, 4) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Pressure loss")), 8, 3) self.DeltaP = Entrada_con_unidades(Pressure) self.DeltaP.valueChanged.connect(partial(self.changeParams, "DeltaP")) lyt.addWidget(self.DeltaP, 8, 4) lyt.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 9, 0, 1, 5) self.buttonMcCabe = QtGui.QPushButton( QtGui.QApplication.translate("pychemqt", "McCabe-Thiele")) self.buttonMcCabe.clicked.connect(self.mcCabe) lyt.addWidget(self.buttonMcCabe, 10, 0) groupBox_Calculo = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Results")) lyt.addWidget(groupBox_Calculo, 11, 0, 1, 5) layout = QtGui.QGridLayout(groupBox_Calculo) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Condenser Duty")), 0, 1) self.DutyCondenser = Entrada_con_unidades(Power, retornar=False) self.DutyCondenser.setReadOnly(True) layout.addWidget(self.DutyCondenser, 0, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Reboiler Duty")), 1, 1) self.DutyReboiler = Entrada_con_unidades(Power, retornar=False) self.DutyReboiler.setReadOnly(True) layout.addWidget(self.DutyReboiler, 1, 2) layout.addWidget(QtGui.QLabel("Rmin"), 2, 1) self.Rmin = Entrada_con_unidades(float, readOnly=True) layout.addWidget(self.Rmin, 2, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Reflux ratio")), 3, 1) self.RCalculada = Entrada_con_unidades(float, readOnly=True) layout.addWidget(self.RCalculada, 3, 2) layout.addWidget(QtGui.QLabel("Nmin"), 0, 4) self.Nmin = Entrada_con_unidades(float, readOnly=True) layout.addWidget(self.Nmin, 0, 5) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Stages")), 1, 4) self.NTray = Entrada_con_unidades(float, readOnly=True) layout.addWidget(self.NTray, 1, 5) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Feed stage")), 2, 4) self.N_feed = Entrada_con_unidades(float, readOnly=True) layout.addWidget(self.N_feed, 2, 5) # Cost tab lyt = QtGui.QGridLayout(self.tabCostos) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Process")), 1, 1) self.proceso = QtGui.QComboBox() for txt in self.Equipment.TEXT_PROCESS: self.proceso.addItem(txt) self.proceso.currentIndexChanged.connect( partial(self.changeParamsCoste, "proceso")) lyt.addWidget(self.proceso, 1, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Column tipe")), 2, 1) self.tipo = QtGui.QComboBox() for txt in self.Equipment.TEXT_COLUMN: self.tipo.addItem(txt) self.tipo.currentIndexChanged.connect(self.mostrarSubclasificacion) lyt.addWidget(self.tipo, 2, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Material")), 3, 1) self.material = QtGui.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.material.addItem(txt) self.material.currentIndexChanged.connect( partial(self.changeParamsCoste, "material_columna")) lyt.addWidget(self.material, 3, 2) lyt.addItem( QtGui.QSpacerItem(30, 30, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 1, 3, 5, 1) self.groupBox_Pisos = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Tray column")) lyt.addWidget(self.groupBox_Pisos, 1, 4, 4, 2) layout = QtGui.QGridLayout(self.groupBox_Pisos) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Tray type")), 1, 1) self.tipoPisos = QtGui.QComboBox() for txt in self.Equipment.TEXT_TRAY: self.tipoPisos.addItem(txt) self.tipoPisos.currentIndexChanged.connect( partial(self.changeParamsCoste, "tipo_pisos")) layout.addWidget(self.tipoPisos, 1, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Material")), 2, 1) self.materialPisos = QtGui.QComboBox() for txt in self.Equipment.TEXT_MATERIAL: self.materialPisos.addItem(txt) self.materialPisos.currentIndexChanged.connect( partial(self.changeParamsCoste, "material_pisos")) layout.addWidget(self.materialPisos, 2, 2) layout.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 3, 1, 1, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Diameter")), 4, 1) self.diametroPisos = Entrada_con_unidades(Length) layout.addWidget(self.diametroPisos, 4, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Stages")), 5, 1) self.NumeroPisos = Entrada_con_unidades(int, spinbox=True, min=1, step=1, width=50) layout.addWidget(self.NumeroPisos, 5, 2) layout.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 6, 1, 1, 2) self.groupBox_relleno = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Packed column")) lyt.addWidget(self.groupBox_relleno, 1, 4, 4, 2) layout = QtGui.QGridLayout(self.groupBox_relleno) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Volume")), 1, 1) self.VolumenRelleno = Entrada_con_unidades(Volume, "VolLiq") layout.addWidget(self.VolumenRelleno, 1, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Unit Cost")), 2, 1) texto = "%s / %s" % (Currency(None).text(), Volume(None).text("VolLiq")) self.C_unit_relleno = Entrada_con_unidades(Currency, retornar=False, textounidad=texto) layout.addWidget(self.C_unit_relleno, 2, 2) layout.addItem( QtGui.QSpacerItem(10, 10, QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed), 3, 1, 1, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Diameter")), 5, 1) self.Dc = Entrada_con_unidades(Length) lyt.addWidget(self.Dc, 5, 2, 1, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Height")), 6, 1) self.Hc = Entrada_con_unidades(Length) lyt.addWidget(self.Hc, 6, 2, 1, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Thickness (top)")), 6, 4) self.EspesorSuperior = Entrada_con_unidades(Length, "Thickness") lyt.addWidget(self.EspesorSuperior, 6, 5, 1, 2) lyt.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Thickness (bottom)")), 7, 4) self.EspesorInferior = Entrada_con_unidades(Length, "Thickness") lyt.addWidget(self.EspesorInferior, 7, 5, 1, 2) lyt.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Density")), 7, 1) self.EspesorInferior = Entrada_con_unidades(Density, "DenLiq") lyt.addWidget(self.EspesorInferior, 7, 2, 1, 2) self.Costos = CostData(self.Equipment) self.Costos.valueChanged.connect(self.changeParamsCoste) lyt.addWidget(self.Costos, 10, 1, 2, 5) lyt.addItem( QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding), 12, 1, 1, 6) self.groupBox_Costos = QtGui.QGroupBox( QtGui.QApplication.translate("pychemqt", "Stimated costs")) lyt.addWidget(self.groupBox_Costos, 13, 1, 1, 5) layout = QtGui.QGridLayout(self.groupBox_Costos) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Tray cost")), 0, 1) self.C_pisos = Entrada_con_unidades(Currency, retornar=False) self.C_pisos.setReadOnly(True) layout.addWidget(self.C_pisos, 0, 2) layout.addWidget( QtGui.QLabel(QtGui.QApplication.translate("pychemqt", "Shell cost")), 1, 1) self.C_carcasa = Entrada_con_unidades(Currency, retornar=False) self.C_carcasa.setReadOnly(True) layout.addWidget(self.C_carcasa, 1, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Platform and ladder")), 2, 1) self.C_accesorios = Entrada_con_unidades(Currency, retornar=False) self.C_accesorios.setReadOnly(True) layout.addWidget(self.C_accesorios, 2, 2) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Column cost")), 0, 4) self.C_columna = Entrada_con_unidades(Currency, retornar=False) self.C_columna.setReadOnly(True) layout.addWidget(self.C_columna, 0, 5) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Purchase costs")), 1, 4) self.C_adq = Entrada_con_unidades(Currency, retornar=False) self.C_adq.setReadOnly(True) layout.addWidget(self.C_adq, 1, 5) layout.addWidget( QtGui.QLabel( QtGui.QApplication.translate("pychemqt", "Installed costs")), 2, 4) self.C_inst = Entrada_con_unidades(Currency, retornar=False) self.C_inst.setReadOnly(True) layout.addWidget(self.C_inst, 2, 5) # Output tab self.addSalida(QtGui.QApplication.translate("pychemqt", "Destilate")) self.addSalida(QtGui.QApplication.translate("pychemqt", "Residue")) self.mostrarSubclasificacion(0) if equipment: self.setEquipment(equipment)