Forum Programmation.python variable <-> objet avec QT

Posté par  .
Étiquettes : aucune
0
16
oct.
2006
Bonjour,
je cherche à récupérer la liste des groupes de mon système et de générer une interface avec des cases à cocher qui correspondent à ces groupes.
J'ai pensé à ceci:

for i in file('/etc/group','r'):
nom_groupe=i.split(':')[0]
groupe_id=i.split(':')[2]

nomcomp="checkbox_"+str(groupe_id)
print "NOMCOMP:",nomcomp
self.nomcomp = QCheckBox(self,nomcomp)
self.nomcomp.setText(nomcomp)
Form1Layout.addWidget(self.nomcomp,0,0)
print "Form1Layout.addWidget(self.nomcomp,0,0)"



Bien sûr, ça ne fonctionne pas.
Si la variable NOCOMP est bien attribuée (le groupe de gid 10 donne checkbox_10), self.nomcomp = QCheckBox(self,nomcomp) donne
self.nomcomp = QCheckBox(self,nomcomp)
et non pas
self.checkbox_10 = QCheckBox(self,checkbox_10)
Existe t-il une astuce que je ne connais pas pour que la variable soit considérée comme telle dans les objets QT ? Existe t-il une autre façon de faire?
Merci.
  • # Eval...

    Posté par  . Évalué à 1.

    Bonjour,

    je pense qu'il faut que tu passes par la fonction eval sous la forme :

    eval('self.'+nomcomp+' = QCheckBox(self,'+nomcomp+')'

    plus d'info là : http://docs.python.org/lib/built-in-funcs.html

    Guilhelm
  • # setattr

    Posté par  . Évalué à 1.

    Moi j'utiliserais setattr
    class toto:
     pass
    t = toto()
    setattr(t, "boo", 42)
    print t.boo == 42
    

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.