Salut à tous !
Je me lance dans un projet assez conséquent en python, et là j'essaie de mettre en place un système pour gérer les différentes options du programme.
Par exemple, j'ai une classe qui charge automatiquement l'interface graphique depuis un fichier XML, et je voudrais pouvoir spécifier la taille des icônes des barres d'outils. Dans le __init__() de ma classe, j'ai donc un truc du genre :Le problème, c'est que si l'utilisateur veut pouvoir spécifier ultérieurement la taille de ces icônes, il faut que le prog arrive à retrouver une référence à 'toolbar1' alors qu'il est généralement en train d'exécuter une autre classe d'un autre fichier .py (=> plus de référence directe sur la toolbar)...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 self.toolbar1.set_icon_size(taille) self.toolbar2.set_icon_size(taille)
Là je donne l'exemple d'une barre d'outils, mais le but du truc serait en fait de pouvoir modifier un attribut d'une classe depuis une autre.
J'ai pensé à faire une classe 'PrefsManager' qui charge la config au démarrage et qui s'utiliserait de la sorte :Ça c'est pour l'utilisation, mais ce qui m'intéresse évidement, c'est comment implémenter et configurer ce 'PrefsManager'...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 # fichier 1 class InterfaceGraphique: def __init__(self): ... prefsmanager.appliquer_prefs_par_défaut(...) ... # fichier 2 class Bidule: ... taille = demander_à_utilisateur() prefsmanager.appliquer_pref('toolbar_icon_size', taille) ...
J'espère que vous comprenez le problème
* * *
Bon, là j'ai donné ma vision des choses, mais ce qui m'intéresse finalement, c'est comment VOUS vous y prenez pour gérer/appliquer les préférences utilisateurs dans un projet de ce type. Utilisez-vous un système centralisé (comme ce que j'essaie de mettre en place), ou autre chose ?
Toute proposition/suggestion/critique est le bienvenue.
Merci d'avance à tous ceux qui répondront
Partager