summaryrefslogtreecommitdiffstats
path: root/test.py
diff options
context:
space:
mode:
Diffstat (limited to 'test.py')
-rw-r--r--test.py103
1 files changed, 103 insertions, 0 deletions
diff --git a/test.py b/test.py
new file mode 100644
index 0000000..fc85fff
--- /dev/null
+++ b/test.py
@@ -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())