def updateSaisieEleve(self): cpt = 0 self.ui.tWTableNotation.clear() # self.ui.tWTableNotation.setColumnCount(2) # ça permettait de définir le nombre de colonne de la tableWidget si non défini dans le QtDesigner academie = self.ui.cBAcademie.currentIndex() etabliss = self.ui.cBEtablissement.currentIndex() cla = self.ui.cBClasseGPNote.currentIndex() dicoClasse = self.mesDatas["academies"][academie]["etablissements"][ etabliss]["classes"][cla] for eleve in dicoClasse["eleves"]: for matiere in eleve["matieres"]: mat = self.ui.cBMatiereGBNote.currentText() if matiere["nom"] == mat: nomE = eleve["nom"] self.ui.tWTableNotation.setRowCount(cpt + 1) itemE = QTableWidgetItem(nomE) self.ui.tWTableNotation.setItem(cpt, 0, itemE) # utiliser le QDoubleSpin permet de rentrer une note en transformant direct en float spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) self.ui.tWTableNotation.setCellWidget(cpt, 1, spinB) cpt += 1 self.ui.tWTableNotation.setHorizontalHeaderLabels(['Nom', 'Note'])
def affichageAjoutNoteEleves(self): cpt= 0 self.ui.twSaisieNote.clearContents() header = ["Nom", "Prénom", "Ajout de Notes"] self.ui.twSaisieNote.setColumnCount(len(header)) # pour avoir X colonnes self.ui.twSaisieNote.setHorizontalHeaderLabels(header) #pour avoir les titre de colonne dicoEleves = self.dicoJson["academies"][self.ui.cbAcademieSelect.currentIndex()] \ ["etablissements"][self.ui.cbEtablissementSelect.currentIndex()] \ ["classes"][self.ui.cbClasseSelect.currentIndex()] \ ["eleves"] for eleves in dicoEleves: for matiere in eleves["matieres"]: mat = self.ui.cbNoteMatiereSelect.currentText() if matiere["nom"] == mat: nomE = eleves["nom"] prenomE = eleves["prenom"] self.ui.twSaisieNote.setRowCount(cpt+1) itemEn = QTableWidgetItem(nomE) self.ui.twSaisieNote.setItem(cpt, 0, itemEn) # self.ui.twSaisieNote.setRowCount(cpt+1) itemEp = QTableWidgetItem(prenomE) self.ui.twSaisieNote.setItem(cpt, 1, itemEp) spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) #lier la dsb au nom d'élève self.ui.twSaisieNote.setCellWidget(cpt, 2, spinB) cpt = cpt+1 print("affichageEleve")
def updateMatiere(self): dicoClasse = self.dico["academies"][self.ui.cbAcad.currentIndex( )]["etablissements"][self.ui.cbEtab.currentIndex()]["classes"][ self.ui.cbClass.currentIndex()] listeMatieres = [] for eleve in dicoClasse["eleves"]: for matiere in eleve["matieres"]: listeMatieres.append(matiere["nom"]) nomE = eleve["nom"] self.ui.tableWidget.setRowCount(cpt + 1) itemE = QTableWidgetItem(nomE) self.ui.tableWidget.setItem(cpt, 0, itemE) spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) self.ui.tableWidget.setCellWidget(cpt, 1, spinB) cpt = cpt + 1 self.uiAff.tableView.setHorizontalHeaderLabels(['Nom', 'Note']) listeMatieresUniques = np.unique(listeMatieres) self.ui.cbMatier.addItems(listeMatieresUniques)
def updateSaisieEleve(self): cpt = 0 self.ui.twNotes.clear() self.ui.twNotes.setColumnCount(2) dicoClasse = self.dico["academies"][self.ui.cbAcademie.currentIndex( )]["etablissements"][self.ui.cbEtablissement.currentIndex( )]["classes"][self.ui.cbClasse.currentIndex()] for eleve in dicoClasse["eleves"]: for matiere in eleve["matieres"]: mat = self.ui.cbMatiere.currentText() if matiere["nom"] == mat: nomE = eleve["nom"] self.ui.twNotes.setRowCount(cpt + 1) itemE = QTableWidgetItem(nomE) self.ui.twNotes.setItem(cpt, 0, itemE) spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) self.ui.twNotes.setCellWidget(cpt, 1, spinB) cpt = cpt + 1 self.ui.twNotes.setHorizontalHeaderLabels(['Nom', 'Note'])
def elevChanged(self): indexAcad = indexAcadSelec(self.ui.cbAcad.currentText(), self.mesdata["academies"]) indexEtab = indexEtabSelec( self.ui.cbEtab.currentText(), self.mesdata["academies"][indexAcad]["etablissements"]) indexClass = indexClassSelec( self.ui.cbClass.currentText(), self.mesdata["academies"][indexAcad] ["etablissements"][indexEtab]["classes"]) listelev = self.mesdata["academies"][indexAcad]["etablissements"][ indexEtab]["classes"][indexClass]["eleves"] self.ui.tableWidget.setRowCount(len(listelev)) self.ui.tableWidget.setColumnCount(2) cpt = 0 for elev in listelev: self.ui.tableWidget.setItem(cpt, 0, QTableWidgetItem(elev["nom"])) self.ui.tableWidget.setItem(cpt, 1, QTableWidgetItem(elev["prenom"])) cpt += 1 # dicoClasse = self.dico["academies"][self.ui.cbAcad.currentIndex()]["etablissements"][ # self.ui.cbEtab.currentIndex()]["classes"][self.ui.cbClass.currentIndex()] # for eleve in dicoClasse["eleves"]: for matiere in elev["matieres"]: mat = self.ui.cbMatier.currentText() if matiere["nom"] == mat: nomE = elev["nom"] self.ui.tableWidget.setRowCount(cpt + 1) itemE = QTableWidgetItem(nomE) self.ui.tableWidget.setItem(cpt, 0, itemE) spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) self.ui.tableWidget.setCellWidget(cpt, 1, spinB) cpt = cpt + 1 self.ui.tableWidget.setHorizontalHeaderLabels(['Nom', 'Note'])