startx25 a écrit :
c'est qui est con c'est de pas pouvoir faire ceci : self.textCtrl1.SetValue(nbr*2) et de passer par un convertisseur de type : self.textCtrl1.SetValue(int(nbr)*2)
il pourrait s'en douter puisque c'est pour un textCtrl
|
Heuu ton problème n'a rien a voire avec le textCtrl hein, c'est un problème de typage.
Tu récupères un string depuis ton textCtrl2, depuis quand on peut faire une multiplication sur un string en python? ben oui on peut pas, donc tu dois forcer un cast du string en int (par la fonction int(nbr)), puis il fait un cast automatique d'int vers string pour l'afficher
C'est de la logique de base et la resultante du typage "fort" de python. (ya pas beaucoup de langages dans lequel "machin"*2 a un sens en fait, et c'est exactement ce que tu essaies de nous faire ici)
Si le problème avait été que textCtrl ne faisait pas de cast, tu aurais du écrire str(int(nbr)*2), c'est pas le cas donc on voit bien que le textCtrl fait un cast implicite int->str
PS: tu peux essayer d'ailleurs, après "nbr=self.textCtrl2.GetValue()" ajoutes une ligne "print type(nbr)", je te parie un paquet de cacahuettes qu'il va répondre "<type 'str'>"