diff options
author | Papoteur <papoteur@mageia.org> | 2024-02-08 22:06:54 +0100 |
---|---|---|
committer | Papoteur <papoteur@mageia.org> | 2024-02-08 22:06:54 +0100 |
commit | 05e57051fb6bf346da7e0700a1262579b346d827 (patch) | |
tree | 170f49b6d244fc6b7be685c7553f26bf6ad77724 /test.py | |
parent | 86f71da21c6ad7e67b4d18d0d2349a3f33dff6d8 (diff) | |
download | mga-advisor-05e57051fb6bf346da7e0700a1262579b346d827.tar mga-advisor-05e57051fb6bf346da7e0700a1262579b346d827.tar.gz mga-advisor-05e57051fb6bf346da7e0700a1262579b346d827.tar.bz2 mga-advisor-05e57051fb6bf346da7e0700a1262579b346d827.tar.xz mga-advisor-05e57051fb6bf346da7e0700a1262579b346d827.zip |
Typo
Diffstat (limited to 'test.py')
-rw-r--r-- | test.py | 103 |
1 files changed, 103 insertions, 0 deletions
@@ -0,0 +1,103 @@ +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()) |