1 # -*- coding: iso-8859-1 -*-
5 # module de gestion des panneaux
6 from panelbase import *
7 # modules validateur lineedit
8 from validationlineedit import *
10 class Materiau(PanelBase):
12 Hérite de la classe mère PanelBase
13 Définit le panneau pour le choix des propriétés du matériau :
14 - lnE : lineedit du module d'Young
15 - lnNU : lineedit du coefficient de Poisson
17 def __init__(self, parent, appli):
18 # hérite de la classe mère des panneaux
19 PanelBase.__init__(self, parent, appli)
21 # on modifie le label titre
22 self.lblTitre.setText('Propriétés du matériau')
24 # on modifie l'explication
25 self.lblExplication.setText("Définissez le module d'Young et le coefficient de Poisson :")
28 self.sp2 = QSpacerItem(20, 50, QSizePolicy.Minimum, QSizePolicy.Minimum)
29 self.gl.addItem(self.sp2, 3, 0)
31 # création d'une QGridLayout
32 self.glProprietes = QGridLayout(self.parent, 2, 3, 5)
33 self.gl.addLayout(self.glProprietes, 4, 0)
35 # ---------------- création et ajout de E ----------------
37 self.lblE = QLabel("E (module d'Young) :", self.parent)
38 self.glProprietes.addWidget(self.lblE, 0, 0, Qt.AlignRight)
40 self.lnE = QLineEdit(self.parent)
41 self.lnE.setMaximumHeight(30)
42 self.lnE.setMaximumWidth(150)
43 self.lnE.setMaxLength(10)
44 self.lnE.setPaletteBackgroundColor(QColor(255, 170, 255))
45 self.glProprietes.addWidget(self.lnE, 0, 1)
46 # ajout du label aide E
47 self.lblAideE = QLabel("( E >= 0 )", self.parent)
48 self.glProprietes.addWidget(self.lblAideE, 0, 2)
50 # ---------------- création et ajout de NU ----------------
52 self.lblNU = QLabel("NU (coefficient de Poisson) :", self.parent)
53 self.glProprietes.addWidget(self.lblNU, 1, 0, Qt.AlignRight)
54 # ajout du lineedit NU
55 self.lnNU = QLineEdit(self.parent)
56 self.lnNU.setMaximumHeight(30)
57 self.lnNU.setMaximumWidth(150)
58 self.lnNU.setMaxLength(10)
59 self.lnNU.setPaletteBackgroundColor(QColor(255, 170, 255))
60 self.glProprietes.addWidget(self.lnNU, 1, 1)
61 # ajout du label aide NU
62 self.lblAideNU = QLabel("( -1 <= NU <= 0.5 )", self.parent)
63 self.glProprietes.addWidget(self.lblAideNU, 1, 2)
65 # connexion des signaux et des slots
66 # dès qu'une valeur est saisie, on teste sa validité
67 # pour E --> ajout du validateur
68 self.validE = ValidationLineEdit(0, 10000000000000, 10000000, self.lnE)
69 self.connect(self.lnE, SIGNAL('textChanged(const QString&)'), self.validE.isValid)
70 self.connect(self.lnE, SIGNAL('textChanged(const QString&)'), self.valid)
71 # pour NU --> ajout du validateur
72 self.validNU = ValidationLineEdit(-1, 0.5, 10, self.lnNU)
73 self.connect(self.lnNU, SIGNAL('textChanged(const QString&)'), self.validNU.isValid)
74 self.connect(self.lnNU, SIGNAL('textChanged(const QString&)'), self.valid)
78 met à jour l'étude avec les nouvelles valeurs saisies
79 affiche le panneau suivant
80 affiche les nouvelles valeurs de l'étude (simple fonction d'aide)
82 self.appli.etude.setMateriau_e(self.lnE.text())
83 self.appli.etude.setMateriau_nu(self.lnNU.text())
84 PanelBase.suivant(self)
85 self.appli.etude.affiche()
89 rend valide le bouton suivant si les valeurs saisies sont valides
91 if self.validE.isValid() and self.validNU.isValid():
92 self.btnSuivant.setEnabled(1)
94 self.btnSuivant.setEnabled(0)