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_())