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 dood . Évalué à 1.
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 Sebastien . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.