def __init__(self, parent=None):
super(MainWindowBiblio,self).__init__(parent)
self.setupUi(self)
self.nomFichierBiblio = None
self.modeleTableBiblio = ModeleTableBiblio([])
self.treeViewLivres.setModel(self.modeleTableBiblio)
self.treeViewLivres.selectionModel().selectionChanged.connect(
self.on_treeViewLivres_selectionChanged) self.modificationAEnregistrer(False)
self.dateEditAnnee.setMinimumDate(QDate(101,1,1))
self.dateEditAnnee.setSpecialValueText(" ")
self.doubleSpinBoxPrix.setMinimum(-0.01)
self.doubleSpinBoxPrix.setSpecialValueText(" ") self.effaceLivre()
self.pushButtonSupprimer.setEnabled(False) def
modificationAEnregistrer(self,fichierNonEnregistre): self.fichierNonEnregistre =
fichierNonEnregistre titre = "BiblioApp" if self.nomFichierBiblio is not None: titre +=
" - " + self.nomFichierBiblio if self.fichierNonEnregistre: titre += " *"
self.setWindowTitle(titre) self.actionEnregistrer.setEnabled(fichierNonEnregistre) def
on_treeViewLivres_selectionChanged(self,selected,deselected): indexesSelection =
selected.indexes() if len(indexesSelection) == 0: self.effaceLivre()
self.pushButtonSupprimer.setEnabled(False) else: indexSelection =
indexesSelection[0] indiceLivreSelectionne = indexSelection.row()
self.afficheLivre(self.modeleTableBiblio.livres[ indiceLivreSelectionne])
self.pushButtonSupprimer.setEnabled(True) def effaceLivre(self): for lineEdit in
(self.lineEditTitre, self.lineEditAuteur, self.lineEditEditeur): lineEdit.setText("")
self.comboBoxGenre.setCurrentIndex(0) self.plainTextEditResume.setPlainText("")
self.dateEditAnnee.setDate(self.dateEditAnnee.minimumDate())
self.doubleSpinBoxPrix.setValue(self.doubleSpinBoxPrix.minimum()) def
afficheLivre(self,livre): self.lineEditTitre.setText(livre.titre)
self.lineEditAuteur.setText(livre.auteur)
self.comboBoxGenre.setCurrentText(livre.genre)
self.lineEditEditeur.setText(livre.editeur)
self.dateEditAnnee.setDate(QDate(livre.annee,1,1))
self.plainTextEditResume.setPlainText(livre.resume)
self.doubleSpinBoxPrix.setValue(livre.prix) def closeEvent(self,event): if not
self.fichierNonEnregistre: event.accept() else: messageConfirmation = "Êtes-vous
sûr de vouloir quitter " \ "BibliApp sans sauvegarder le fichier ?" reponse =
QMessageBox.question(self,"Confirmation",
messageConfirmation,QMessageBox.Yes,QMessageBox.No) if reponse ==
QMessageBox.Yes: event.accept() else: event.ignore() @pyqtSlot() def
on_actionQuitter_triggered(self): self.close() @pyqtSlot() def
on_actionOuvrir_triggered(self): if self.fichierNonEnregistre: messageConfirmation
122
Précédent

- 123/494

Suivant