Un débutant sur pyqt
Résolu/Fermé
A voir également:
- Un débutant sur pyqt
- Logiciel de programmation pour débutant - Guide
- Logiciel montage vidéo débutant - Guide
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
- Apprendre le coran pour débutant (+ pdf) - Télécharger - Histoire & Religion
- Salaire mangaka débutant ✓ - Forum Loisirs / Divertissements
5 réponses
Pas bien réveillé ?
C'est self.objetchantier = blabla
Ainsi tu pourras y accéder dans toutes tes méthodes de ta classe en utilisant self.objetchantier.
Je pense quand même que t'étais pas bien réveillé ce matin car tu le fais bien pour les autres attributs de ta classe :D
C'est self.objetchantier = blabla
Ainsi tu pourras y accéder dans toutes tes méthodes de ta classe en utilisant self.objetchantier.
Je pense quand même que t'étais pas bien réveillé ce matin car tu le fais bien pour les autres attributs de ta classe :D
Merci de ta réponse mais quand je place self devant mon attribut j'ai l'erreur suivante:
self.objetchantier.NomChantier = self.lineEditNomChantier.text()
AttributeError: 'MainWindowListePoints' object has no attribute 'objetchantier'
objetchantier est un objet que j'instancie à la construction de la class MainWindowListePoints je devrais pourtant y avoir accès dans les méthodes de cette même classe non?
self.objetchantier.NomChantier = self.lineEditNomChantier.text()
AttributeError: 'MainWindowListePoints' object has no attribute 'objetchantier'
objetchantier est un objet que j'instancie à la construction de la class MainWindowListePoints je devrais pourtant y avoir accès dans les méthodes de cette même classe non?
Un simple test :
Je ne connais pas trop les rouages de super() mais généralement super().__init__(self) suffit, python s'occupe très bien du mro tout seul.
>>> class A : ... def __init__(self): ... self.a = 10 ... >>> class B(A): ... def __init__(self): ... super(A, self).__init__() ... print(self.a) ... >>> b = B() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 4, in __init__ AttributeError: 'B' object has no attribute 'a'
Je ne connais pas trop les rouages de super() mais généralement super().__init__(self) suffit, python s'occupe très bien du mro tout seul.
Bonjour,
Suite à différents essais il semble que si j'instancie un objet dans le constructeur d'un autre je ne peux pas accéder aux arguments de celui-ci
en conséquence pour y accéder il faut déclarer son objet en dehors comme suit:
Donc problème résolut pour moi même si j'ai des choses à apprendre encore...
Merci Gudu pour tes réponse.
Suite à différents essais il semble que si j'instancie un objet dans le constructeur d'un autre je ne peux pas accéder aux arguments de celui-ci
# -*- coding: utf-8 -*-
# Test des acces des attributs entre objet
class toto:
variable_a = "yes"
variable_b = 33
varibale_c = "Je sais pas j'apprend!!"
class bob:
def __int__(self):
blague = toto()
print("objet toto crée")
def testacces(self):
print(blague.variable_a)
print(blague.variable_b)
print(blague.varibale_c)
essai = bob()
# Là j'ai une erreur de définition pour blague!!
blague.variable_a
blague.varibale_c
essai.testacces()
en conséquence pour y accéder il faut déclarer son objet en dehors comme suit:
# -*- coding: utf-8 -*-
# Test des acces des attributs entre objet
class toto:
variable_a = "yes"
variable_b = 33
varibale_c = "Je sais pas j'apprend!!"
class bob:
def __int__(self):
print("objet de classe bob crée")
def testacces(self):
print(blague.variable_a)
print(blague.variable_b)
print(blague.varibale_c)
essai = bob()
blague = toto()
# Là j'ai une erreur de définition pour blague!!
blague.variable_a
blague.varibale_c
essai.testacces()
Donc problème résolut pour moi même si j'ai des choses à apprendre encore...
Merci Gudu pour tes réponse.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je pense que tu confonds variable de classe et variable d'instance.
Selon ton exemple, dans le cadre d'une composition :
Pour l"héritage, c'est identique, sauf que l'attribut a sera interne à la classe héritant de Toto.
Selon ton exemple, dans le cadre d'une composition :
class Toto: a = "yes" def __init__(self): print("toto est là") class Bob: def __init__(self): print("bob est là") self.toto = Toto() def test(self): print("Variable d'instance self.toto.a", self.toto.a) print("Variable de classe Toto.a", Toto.a) def set_a(self, value): self.toto.a = value bob = Bob() bob.test() bob.set_a("No") bob.test()
Pour l"héritage, c'est identique, sauf que l'attribut a sera interne à la classe héritant de Toto.
class Toto: a = "yes" def __init__(self): print("toto est là") class Bob(Toto): def __init__(self): print("bob est là") super().__init__() def test(self): print("Variable d'instance self.a héritée de toto", self.a) print("Variable de classe Toto.a", Toto.a) def set_a(self, value): self.a = value bob = Bob() bob.test() bob.set_a("No") bob.test()