import sys from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel from PySide6.QtCore import QSettings, QFile class MainWindow(QWidget): def __init__(self): super().__init__() self.init_ui() def init_ui(self): layout = QVBoxLayout() self.lbl_path = QLabel() self.update_path_label() btn_browse = QPushButton('Parcourir') btn_browse.clicked.connect(self.browse_file) layout.addWidget(self.lbl_path) layout.addWidget(btn_browse) self.setLayout(layout) self.setWindowTitle('Lecture de chemin depuis un fichier de configuration') def browse_file(self): settings_file = QFile('settings.ini') settings = QSettings(settings_file, QSettings.IniFormat) filepath, _ = QFileDialog.getOpenFileName(self, "Sélectionner un fichier de configuration", "", "Fichiers de configuration (*.ini)") if filepath: settings.setValue('Config/path', filepath) self.update_path_label() def update_path_label(self): settings_file = QFile('settings.ini') settings = QSettings(settings_file, QSettings.IniFormat) filepath = settings.value('Config/path') if filepath: self.lbl_path.setText(f'Chemin actuel : {filepath}') else: self.lbl_path.setText('Aucun chemin défini dans le fichier de configuration') if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec()) #################### # autre solution import sys from PySide6.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLabel, QFileDialog import configparser class MainWindow(QWidget): def __init__(self): super().__init__() self.init_ui() def init_ui(self): layout = QVBoxLayout() self.lbl_path = QLabel() self.update_path_label() btn_browse = QPushButton('Parcourir') btn_browse.clicked.connect(self.browse_file) layout.addWidget(self.lbl_path) layout.addWidget(btn_browse) self.setLayout(layout) self.setWindowTitle('Lecture de chemin depuis un fichier de configuration') def browse_file(self): options = QFileDialog.Options() file_dialog = QFileDialog() file_dialog.setFileMode(QFileDialog.ExistingFile) filepath, _ = file_dialog.getOpenFileName(self, "Sélectionner un fichier de configuration", "", "Fichiers de configuration (*.ini)", options=options) if filepath: config = configparser.ConfigParser() config.read(filepath) if 'Config' in config and 'path' in config['Config']: path = config['Config']['path'] self.lbl_path.setText(f'Chemin actuel : {path}') def update_path_label(self): # Lecture du chemin à partir du fichier de configuration config = configparser.ConfigParser() config.read('config.ini') # Assurez-vous d'avoir un fichier config.ini avec la section [Config] et une clé 'path' if 'Config' in config and 'path' in config['Config']: path = config['Config']['path'] self.lbl_path.setText(f'Chemin actuel : {path}') else: self.lbl_path.setText('Aucun chemin défini dans le fichier de configuration') if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec())