1. Exemple simple de QFileDialog
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
import sys from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QFileDialog, QLabel def open_file(): # Ouvre la boîte de dialogue pour sélectionner un fichier file_path, _ = QFileDialog.getOpenFileName( window, "Ouvrir un fichier", "", "Tous les fichiers (*);;Fichiers texte (*.txt)" ) if file_path: label.setText(f"Fichier sélectionné : {file_path}") else: label.setText("Aucun fichier sélectionné") # Application principale app = QApplication(sys.argv) # Création de la fenêtre principale window = QWidget() window.setWindowTitle("QFileDialog - Exemple simple") window.setGeometry(100, 100, 400, 200) # Bouton pour ouvrir un fichier button = QPushButton("Ouvrir un fichier", window) button.setGeometry(100, 50, 200, 40) button.clicked.connect(open_file) # Label pour afficher le chemin du fichier label = QLabel("Aucun fichier sélectionné", window) label.setGeometry(50, 120, 300, 30) label.setWordWrap(True) # Affichage de la fenêtre window.show() sys.exit(app.exec_()) |
2. QFileDialog selon l'approche objet
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QFileDialog, QLabel class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("QFileDialog - Exemple") self.setGeometry(100, 100, 400, 200) # Bouton pour ouvrir un fichier self.button = QPushButton("Ouvrir un fichier", self) self.button.setGeometry(100, 50, 200, 40) self.button.clicked.connect(self.open_file_dialog) # Label pour afficher le chemin du fichier self.label = QLabel("Aucun fichier sélectionné", self) self.label.setGeometry(50, 120, 300, 30) self.label.setWordWrap(True) def open_file_dialog(self): # Ouvre la boîte de dialogue pour sélectionner un fichier file_path = QFileDialog.getOpenFileName( self, "Ouvrir un fichier", # Titre de la boîte de dialogue "", # Répertoire par défaut "Tous les fichiers (*);;Fichiers texte (*.txt)" # Types de fichiers autorisés ) if file_path: # Met à jour le label avec le chemin du fichier sélectionné self.label.setText(f"Fichier sélectionné : {file_path[0]}") else: # Met à jour le label si aucun fichier n'est sélectionné self.label.setText("Aucun fichier sélectionné") if __name__ == "__main__": app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) |
Younes Derfoufi
CRMEF OUJDA