Source code for pyleecan.GUI.Dialog.DMachineSetup.SMagnet.WMagnetOut.WMagnetOut

from PySide2.QtCore import QSize
from PySide2.QtWidgets import QGroupBox, QLabel, QVBoxLayout, QWidget

from ......GUI import gui_option


[docs]class WMagnetOut(QGroupBox): """Setup of QGroupBox for output for Magnet""" def __init__(self, parent=None): """Initialize the widget""" QGroupBox.__init__(self, parent) self.u = gui_option.unit # Setup main widget self.setTitle(self.tr("Output")) self.setMinimumSize(QSize(200, 0)) self.setObjectName("g_output") self.layout = QVBoxLayout(self) self.layout.setObjectName("layout") # The widget is composed of several QLabel in a vertical layout self.out_Smag = QLabel(self) self.out_Smag.setObjectName("out_Smag") self.layout.addWidget(self.out_Smag) self.out_gap = QLabel(self) self.out_gap.setObjectName("out_gap") self.layout.addWidget(self.out_gap) self.out_gap_min = QLabel(self) self.out_gap_min.setObjectName("out_gap_min") self.layout.addWidget(self.out_gap_min) self.out_taum = QLabel(self) self.out_taum.setObjectName("out_taum") self.layout.addWidget(self.out_taum)
[docs] def comp_output(self): """Update the Output text with the computed values Parameters ---------- self : WMagnetOut A WMagnetOut object """ mach = self.parent().machine # Gap is set in SMachineDimension gap = format(self.u.get_m(mach.comp_width_airgap_mag()), ".4g") self.out_gap.setText(self.tr("gap: ") + gap + " " + self.u.get_m_name()) mag_txt = self.tr("Magnet surface: ") gm_txt = self.tr("gap_min: ") taum_txt = self.tr("taum: ") if self.parent().check() is None: # We compute the output only if the slot is correctly set Zs = mach.rotor.slot.Zs # Compute all the needed output as string (scientific notation with # 2 digits) Smag = format( self.u.get_m2(mach.rotor.slot.magnet[0].comp_surface()), ".4g" ) gap_min = format(self.u.get_m(mach.comp_width_airgap_mec()), ".4g") taum = 100 * mach.rotor.slot.magnet[0].comp_ratio_opening(Zs / 2.0) taum = "%.4g" % (taum) # Update the GUI to display the Output self.out_Smag.setText(mag_txt + Smag + " " + self.u.get_m2_name()) self.out_gap_min.setText(gm_txt + gap_min + " " + self.u.get_m_name()) self.out_taum.setText(taum_txt + taum + " %") else: # We can't compute the output => We erase the previous version # (that way the user know that something is wrong without # clicking next) self.out_Smag.setText(mag_txt + "?") self.out_gap_min.setText(gm_txt + "?") self.out_taum.setText(taum_txt + " ?")