On Mon, 2006-08-07 at 18:10 +0000, dave s wrote: > I need to scan a long list of QT tickboxes in a dialog. I need to execute > pseudo code something like ... > > > list = ['error_button', 'print_button' ... etc ] > for key in list: > button= list[key] > print button, self.button.isChecked() > > list = ['error_button', 'print_button' ... etc ] for key in list: button= getattr(self, key) print button, button.isChecked()
You can't use a string directly in an object reference, so self.key and self.button will not work. You want to use the value in the string to look up an attribute. The getattr function supports that ability. (See also setattr and hasattr). key will be bound to each of the button attribute names in turn. The getattr call returns the button object. NOTE: you no longer need to specify self. Then simply use the button object. > > where self.button.isChecked() becomes self.error_button.isChecked() ... > self.print_button.isChecked() .... etc etc > > Can anyone tell me how to do this ? I have looked at apply but with no luck > > Thanks > > Dave > > _______________________________________________ > Tutor maillist - Tutor@python.org > http://mail.python.org/mailman/listinfo/tutor -- Lloyd Kvam Venix Corp _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor