Accès aux variables entre classes dans Tkinter
Dans tkinter, vous rencontrez des situations où il devient souhaitable d'accéder à des variables définies dans différentes classes. Cela nécessite d'établir des connexions et des référencements entre ces classes.
Établissement de références
Pour accéder aux variables d'une autre classe, vous devez obtenir une référence à cette classe. Dans votre exemple, PageTwo doit accéder à la variable self.v depuis PageOne. Pour y parvenir, suivez les étapes suivantes :
# Get a reference to the controller in PageOne self.controller = controller # Define a method in the controller to return a reference to any page def get_page(self, page_class): return self.frames[page_class]
En utilisant cette méthode, vous pouvez désormais accéder à la variable self.v dans PageTwo comme suit :
# Get a reference to PageOne page1 = self.controller.get_page(PageOne) # Access the self.v variable from PageOne page1.v.set("Hello, world")
Partagé Données
Une approche alternative pour accéder aux variables entre les classes consiste à utiliser des données partagées. Créez un dictionnaire de variables partagées dans la classe d'application principale (SampleApp) et rendez-le accessible à toutes les pages via le contrôleur :
# Create a dictionary of shared variables in SampleApp self.shared_data = { "username": tk.StringVar(), "password": tk.StringVar(), ... }
Accédez aux données partagées dans n'importe quelle page comme suit :
# Get the shared data from the controller username_var = self.controller.shared_data["username"] # Set the username username_var.set("my_username")
En utilisant des données partagées, vous découplez les pages, les rendant moins dépendantes les unes des autres. Cela offre une plus grande flexibilité et simplifie la maintenance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!