J'essaie donc de créer une interface graphique qui partage des informations entre les images (qui sont configurées en classes) erreur, qui, malgré les nombreuses heures de googling et d'essayer différentes choses, n'a pas eu de chance. Im essayant juste de créer une bibliothèque qui peut être écrite et lue d'autres classes. J'ai créé ce code de test juste pour déboguer le problème, donc si vous voulez voir mon code principal, faites le moi savoir, merci.TypeError: méthode non liée SendVars() doit être appelé avec l'instance de Vars comme premier argument (à la place l'instance bool)
class Vars():
global vari
vari = dict(Sifo = False, Username = "", Password = "", Event = "", Time = "")
def GetVars(self, var):
print "1"
return vari.pop(var)
def SendVars(self, var, val):
print"2"
vari[str(var)] = val
class maintest():
def test(self):
yes = raw_input("Yes: ")
if yes == "1":
yes = True
else:
yes = False
self.result(yes)
def result(self, reslt):
if reslt == True:
yes = True
else:
yes = False
Vars.SendVars('yes', yes)
a = maintest()
a.test()
print Vars.GetVars('yes')
Sortie:
Yes: 1
Traceback (most recent call last):
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 43, in <module>
a.test()
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 31, in test
self.result(yes)
File "/Users/jacobsifodaskalakis/Documents/LiClipse
Workspace/Test/Test4.py", line 40, in result
Vars.SendVars('yes', yes)
TypeError: unbound method SendVars() must be called with Vars
instance as first argument (got str instance instead)
Tu es mon héros putain! Cela m'avait tellement dérangé, et je savais que c'était quelque chose de stupidement simple comme ça, j'avais le global défini mais je ne l'ai d'une manière ou d'une autre pas collé dans la question lol. Encore merci!!! – Jake
Pas de problème! En aparté, j'éviterais de nommer les variables 'vars', car cela a une signification particulière dans Python https://docs.python.org/2.7/library/functions.html#vars Je l'ai fait dans ma réponse pour plus de commodité. Pense que je vais le changer maintenant. – perfect5th
Ouais, Eclipse m'a crié dessus quand je l'ai mis alors je l'ai changé juste var qui semblait fonctionner correctement. – Jake