![](https://secure.gravatar.com/avatar/b72ee6f609c400a4d58422cd052764d7.jpg?s=120&d=mm&r=g)
Hallo, ich versuche mich ein wenig mit Python und Glade. Dabei fällt mir auf, dass man, um signal_autoconnect zu verwenden, stets ein dict mit den Namen der Signale und den Handlerfunktionen haben muss, was mir etwas umständlich und fehleranfällig erscheint (man muss die Liste ständig von hand aktuell halten...). Bei Ruby gab es method(name), mit dem ich die Methode mit dem angegebenen Namen direkt erhalten konnte. Gibt es ähnliches auch für Python, oder ist mein Ansatz falsch, und es gibt komfortablere Wege? Gruß, Henrik _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/ac2bd67d35e12120b51f3cbab78c4aca.jpg?s=120&d=mm&r=g)
searinox@web.de:
ich versuche mich ein wenig mit Python und Glade. Dabei fällt mir auf, dass man, um signal_autoconnect zu verwenden, stets ein dict mit den Namen der Signale und den Handlerfunktionen haben muss, was mir etwas umständlich und fehleranfällig erscheint (man muss die Liste ständig von hand aktuell halten...). Bei Ruby gab es method(name), mit dem ich die Methode mit dem angegebenen Namen direkt erhalten konnte.
Du suchst wahrscheinlich getattr: http://diveintopython.org/power_of_introspection/getattr.html
Gibt es ähnliches auch für Python, oder ist mein Ansatz falsch, und es gibt komfortablere Wege?
Ich benutze für sowas pygtkmvc: http://pygtkmvc.sourceforge.net/ Das bietet Dir die Klassen Model, View und Controller, von denen Du nur ableiten mußt. Die View wird einfach mit einem Glade-File konstruiert und der Controller enthält Methoden nach einem bestimmten Namensschema, die letztlich das Model bedienen und dessen Notifications fangen. J. -- I spend money without thinking on products and clothes that I believe will enhance my social standing. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html> _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/b72ee6f609c400a4d58422cd052764d7.jpg?s=120&d=mm&r=g)
Jochen Schulz wrote:
Ich benutze für sowas pygtkmvc: http://pygtkmvc.sourceforge.net/
Das bietet Dir die Klassen Model, View und Controller, von denen Du nur ableiten mußt. Die View wird einfach mit einem Glade-File konstruiert und der Controller enthält Methoden nach einem bestimmten Namensschema, die letztlich das Model bedienen und dessen Notifications fangen.
J.
Das hört sich interessant an, danke für den Tipp! _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/e75dd3c4d2b9552d8ee669a20a540d3e.jpg?s=120&d=mm&r=g)
searinox@web.de schrieb:
Hallo, ich versuche mich ein wenig mit Python und Glade. Dabei fällt mir auf, dass man, um signal_autoconnect zu verwenden, stets ein dict mit den Namen der Signale und den Handlerfunktionen haben muss, was mir etwas umständlich und fehleranfällig erscheint (man muss die Liste ständig von hand aktuell halten...). Bei Ruby gab es method(name), mit dem ich die Methode mit dem angegebenen Namen direkt erhalten konnte. Gibt es ähnliches auch für Python, oder ist mein Ansatz falsch, und es gibt komfortablere Wege?
Gruß, Henrik
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
Hi Henrik! Ich glaube, du suchst so etwas :-) self.wTree = gtk.glade.XML("gladefile.glade") dic = {} for key in dir(self.__class__): dic[key] = getattr(self, key) self.wTree.signal_autoconnect(dic) Servus aus Tirol, Gerold :-) -- ______________________________________________________________________ Gerold Penz - bcom - Programmierung gerold.penz@aon.at | http://gerold.bcom.at | http://sw3.at Ehrliche, herzliche Begeisterung ist einer der wirksamsten Erfolgsfaktoren. Dale Carnegie _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
![](https://secure.gravatar.com/avatar/b72ee6f609c400a4d58422cd052764d7.jpg?s=120&d=mm&r=g)
Gerold Penz wrote:
Hi Henrik!
Ich glaube, du suchst so etwas :-)
self.wTree = gtk.glade.XML("gladefile.glade") dic = {} for key in dir(self.__class__): dic[key] = getattr(self, key) self.wTree.signal_autoconnect(dic)
Servus aus Tirol, Gerold :-)
Ja genau, bzw. was schon vorher gepostet wurde: Einfach glade.signal_autoconnect(self) Danke nochmals für die Hilfe Gruß, Henrik _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (4)
-
Gerold Penz
-
Henrik Ronellenfitsch
-
Jochen Schulz
-
searinox@web.de