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'])
Beispiel #2
0
 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")
Beispiel #3
0
    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'])
Beispiel #5
0
    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'])