Neben den "internen" Parametern auch "externe" Parameter übermitteln?
Verfasst: Samstag 22. April 2017, 15:22
Hallo Leute,
meine Betreffzeile ist wohl nicht ganz aussagekräftig. Daher habe ich für euch einen Pseudo-Quelltext zusammen geschustert, um mein Anliegen etwas deutlicher zu machen. Im diesem Pseudo-Beispiel verbinden wir blah_blah_tree_view zunächst mit der selectionModel()-Funktion, welcher die Selection Model zurückliefert, und im Anschluss setzen wir das selectionChanged()-Signal an, welcher zwei Parameter beinhaltet, die dann durch die connect()-Funktion direkt und "intern" an die handle_selection_changed()-Methode übergibt. Das meine ich zunächst mit "intern". Wir haben darauf keinen Einfluss. Das selectionChanged()-Signal übergibt zwei Parameter. Soweit auch alles kein Problem.
Aber: Was ist, wenn ich jetzt hingehe, und zusätzlich, zu den beiden "internen" Parametern noch explizit eigene Parameter übergeben möchte?
Wie ich das meine? Schauen wir uns wieder einen Pseudo-Quelltext an.
Wenn ich das mit der lambda-Funktion bewältigen möchte, dann schlägt diese Überlegung ganz klar fehl. Es ist also für mich nicht möglich, dass ich zusätzlich zu den "internen" Parametern eigene explizite Parameter anfügen kann? So dass ich am Ende sowohl die "internen" Parametern als auch "externe"-Parameter übergeben und damit arbeiten kann?
meine Betreffzeile ist wohl nicht ganz aussagekräftig. Daher habe ich für euch einen Pseudo-Quelltext zusammen geschustert, um mein Anliegen etwas deutlicher zu machen. Im diesem Pseudo-Beispiel verbinden wir blah_blah_tree_view zunächst mit der selectionModel()-Funktion, welcher die Selection Model zurückliefert, und im Anschluss setzen wir das selectionChanged()-Signal an, welcher zwei Parameter beinhaltet, die dann durch die connect()-Funktion direkt und "intern" an die handle_selection_changed()-Methode übergibt. Das meine ich zunächst mit "intern". Wir haben darauf keinen Einfluss. Das selectionChanged()-Signal übergibt zwei Parameter. Soweit auch alles kein Problem.
Code: Alles auswählen
[...]
self.blah_blah_tree_view.selectionModel().selectionChanged.connect(self.handle_selection_changed)
def handle_selection_changed(self, newIndex, oldIndex=None):
#do something with two parameters
[...]
Wie ich das meine? Schauen wir uns wieder einen Pseudo-Quelltext an.
Code: Alles auswählen
[...]
self.blah_blah_tree_view.selectionModel().selectionChanged.connect(lambda. self.handle_selection_changed(explizit_arg="BlahBlah"))
def handle_selection_changed(self, newIndex, oldIndex=None, explizit_arg=None):
#do something with two parameters
[...]