Hallo,
ich suche einen Weg zu unterscheiden woher das Signal zum Aufruf einer Methode kam.
Habe in einer grafischen Oberfläche mehrere QLineEdit-Felder, die beim Bestätigen mit Enter alle die selbe Methode aufrufen. Kann ich nun herausfinden welche der Felder Auslöser war?
Herausfinden, von wo der Methodenaufruf kam
Theoretisch gibt es die sender-Methode. Das macht man in Python aber nicht. Stattdessen nimmst du functools.partial, und erzeugst ein Argument, das die Aufrufe unterscheidbar macht. Etwa so (pseudo-code):
Code: Alles auswählen
from functools import partial
...
vorname = QLineEdit()
vorname.on_enter.connect(partial(self._edit_action, "vorname"))
nachname = QLineEdit()
nachname.on_enter.connect(partial(self._edit_action, "nachname"))
def _edit_action(self, quelle):
print(quelle)
-
- User
- Beiträge: 116
- Registriert: Freitag 3. Juni 2016, 05:45
Alles klar, vielen Dank