méthode statique QFileDialog.getOpenFileName ;
on_actionQuitter_triggered : l'implémentation devra fermer la fenêtre
(méthode close()) après confirmation par l'utilisateur.
Voici l'implémentation de on_actionOuvrir_triggered :
# -*- coding: utf-8 -*# main_window_biblio.py
…
from PyQt5.QtWidgets import QFileDialog, QMessageBox
from PyQt5.QtCore import pyqtSlot
class MainWindowBiblio(QMainWindow,Ui_MainWindowBiblio):
…
@pyqtSlot()
def on_actionOuvrir_triggered(self):
(nomFichierBiblio,filtre) = QFileDialog.getOpenFileName(
self,"Ouvrir fichier bibliothèque", filter="Bibliothèque (*.bib);; Tout (*.*)") if
nomFichierBiblio: # TODO: trace temporaire à remplacer par la lecture du fichier
QMessageBox.information(self,"TRACE", "Fichier à
ouvrir:\n\n%s"%nomFichierBiblio)
La méthode statique QFileDialog.getOpenFileName permet de spécifier
différents filtres sur les extensions. Dans l'exemple, nous supposons que la future
extension sera .bib mais nous proposons aussi, en spécifiant un second filtre, de
voir au besoin tous les fichiers. La méthode renvoie un tuple (nom du fichier choisi,
filtre choisi), dont le second élément a peu d'intérêt. Si l'utilisateur a cliqué sur le
bouton OK, on récupère dans le premier élément le nom complet du fichier
sélectionné, prêt à être lu par notre programme; sinon, si c'est le bouton Cancel, une
chaîne vide est renvoyée et aucun traitement n'est à faire. Le programmeur doit donc
toujours tester la chaîne renvoyée avant de faire le traitement.
Ce test assure que l'utilisateur a bien cliqué sur OK ; on affiche une boîte de
message indiquant le nom complet du fichier sélectionné. Cette implémentation est
bien sûr temporaire puisque, à terme, on veut lire le fichier donné et charger les
données des livres.
Astuce > Conventionnellement, les programmeurs marquent les parties de code
106
Précédent

- 107/494

Suivant