Problème utilisation instance de classe par un programme externe
Résolu/Fermé
NeoPython
-
Modifié le 30 oct. 2020 à 09:26
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 10 nov. 2020 à 20:31
yg_be Messages postés 23399 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 17 décembre 2024 - 10 nov. 2020 à 20:31
A voir également:
- Problème utilisation instance de classe par un programme externe
- Notice d'utilisation - Guide
- Utilisation chromecast - Guide
- Chkdsk disque dur externe - Guide
- Programme demarrage windows 10 - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
2 réponses
yg_be
Messages postés
23399
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
17 décembre 2024
Ambassadeur
1 556
30 oct. 2020 à 12:46
30 oct. 2020 à 12:46
je n'ai pas testé, mais il me semble que, dans Etude_suite.py, la variable Rectangle_Rouge est inconnue.
ne devrais-tu pas écrire Nom_objet_a_modifier = "Rectangle_Choisi"?
ne devrais-tu pas écrire Nom_objet_a_modifier = "Rectangle_Choisi"?
dachiasse
Messages postés
1709
Date d'inscription
samedi 12 septembre 2020
Statut
Membre
Dernière intervention
13 mai 2021
149
5 nov. 2020 à 04:57
5 nov. 2020 à 04:57
Salut,
C'est dommage d'utiliser
Je ne comprends pas bien le problème, mais, tu as essayé sans tkinter ? Si tu fais de la prog modulaire (multi fichiers) il faut bien gérer les importations, or, dans tes codes, aucune trace de
C'est dommage d'utiliser
globalquand on sait (Swinnen) que l'utilisation de classes permet de ne plus l'utiliser.
Je ne comprends pas bien le problème, mais, tu as essayé sans tkinter ? Si tu fais de la prog modulaire (multi fichiers) il faut bien gérer les importations, or, dans tes codes, aucune trace de
import # fichier1, ...
2 nov. 2020 à 17:15
J'ai essayé avec Nom_objet_a_modifier = "Rectangle_Choisi", j'ai le même défaut.
De toute façon j'aurai besoin d'utiliser des formes chaines de caractères dans mon vrai programme ( Rectangle_Rouge , Rectangle_Bleu, Rectangle_Vert, ...)
Le plus fort, c'est que cela fonctionne tant que l'on ne quitte pas le programme principal (Etude.py) :
exec(Nom_objet_a_modifier + "." + Nom_variable_a_modifier + ".set(555)") dans la ligne 20
J'ai lu que la fonction exec() se comporte différemment dans les programmes externes, mais je ne vois pas comment l'écrire correctement.
2 nov. 2020 à 18:20
10 nov. 2020 à 20:17
Merci pour la proposition, j'ai essayé avec un troisième fichier mais pas mieux.
Finalement je m'en suis sorti en remplaçant la ligne à problème par :
Instance_voulue = getattr(Rectangle_Choisi, Nom_variable_a_modifier) #Adresse instance partiellement paramétrable
Instance_voulue.set(999)
print(Rectangle_Choisi.Longueur.get())
Merci encore.
10 nov. 2020 à 20:21
10 nov. 2020 à 20:31
je vais le faire pour toi.