folgendes problem: habe eine funktion, die durch ein event ausgelöst wird. also so in etwa aussieht:
>> self.button.connect("clicked", self.funktion)
wobei funktion einen wert zurück geben soll. nur weiß ich nicht, wie ich den zuweisen soll.
>> tmp = self.button.connect("clicked", self.funktion)
würde ja die handlerID liefern und
>> self.button.connect("clicked", tmp = self.funktion)
ist nicht nur seltsam, sondern geht ja auch nicht ^^.
hoffe mal, dass ich jetzt nicht das trivialste übersehen habe und danke im voraus für antworten.
greetz
anfängerproblem: Wertrückgabe (beantwortet!)
Wie ich immer wieder feststelle, bin ich alles andere als ein Python-Profi, aber soweit ich weiß, ist das nicht möglich.
Du verbindest ja das Widget mit dem Signal, *bevor* überhaupt das Ereignis auftritt - oder anders gesagt: Du übergibst dem connect-Signal zwar eine Funktion, die führst du aber nicht aus.
Und selbst wenn der Rückgabewert irgendwie abzufangen wäre, würde es dir nichts bringen, da zu dem Zeitpunkt, an dem das Signal und die damit verbundene Funktion ausgelöst wird, die entsprechende Zeile deines Codes ja schon lange abgearbeitet worden ist (sonst könnte das Signal ja nicht ausgelöst worden sein).
Da du ja offensichtlich mit Klassen arbeitest, kannst du das Ergebnis der Funktion doch einfach in eine Klassenvariable ablegen und dann später - wenn du es benötigst - wieder auslesen.
Sonst beschreibe einfach etwas genauer, was du vorhast... es gibt sicher eine Lösung
hth
Barabbas
Du verbindest ja das Widget mit dem Signal, *bevor* überhaupt das Ereignis auftritt - oder anders gesagt: Du übergibst dem connect-Signal zwar eine Funktion, die führst du aber nicht aus.
Und selbst wenn der Rückgabewert irgendwie abzufangen wäre, würde es dir nichts bringen, da zu dem Zeitpunkt, an dem das Signal und die damit verbundene Funktion ausgelöst wird, die entsprechende Zeile deines Codes ja schon lange abgearbeitet worden ist (sonst könnte das Signal ja nicht ausgelöst worden sein).
Da du ja offensichtlich mit Klassen arbeitest, kannst du das Ergebnis der Funktion doch einfach in eine Klassenvariable ablegen und dann später - wenn du es benötigst - wieder auslesen.
Sonst beschreibe einfach etwas genauer, was du vorhast... es gibt sicher eine Lösung
hth
Barabbas