Seite 1 von 1

variablen aus event-basierter function global verfügbar

Verfasst: Donnerstag 15. November 2012, 11:28
von kregular
Hallo,

wahrscheinlich ist die Lösung für mein Problem einfach, ich suche nur nach den falschen Begriffen.
Ich rufe mit dem folgenden Code eine function auf:

Code: Alles auswählen

win.listbox.bind("<Double-Button-1>", SelectProject.select_project)
in der ich per Doppelklick ein Projekt auswähle. In der aufgerufenen function def select_project(Event): wird mir dieser Zeile:

Code: Alles auswählen

selProject = win.listbox.get(ACTIVE)
die Variable selProject mit einem Projektnamen gefüllt. Ein print(selProject) innerhalb der aufgerufenen function gibt mir brav den Inhalt der ausgewählten variablen selProject aus.

Ein print(selProject) AUSSERhalb der aufgerufenen function gibt mir jedoch garnichts aus...

Gibt es eine möglichkeit den Inhalt der Variablen aus der event-basierten function herüberzuretten?
Danke.
Gruß

Re: variablen aus event-basierter function global verfügbar

Verfasst: Donnerstag 15. November 2012, 11:37
von sparrow
Ja, es gibt auch in Python die Möglichkeit "globale" Variablen zu verwenden, aber in der Regel (und ich denke auch in diesem Fall) ist das unnötig, weil es von Design her das falsche Vorgehen wäre.

Wofür brauchst du denn die Variable außerhalb des Event-Funktion?
Um die Ansicht zu aktualisieren? Es ist eben die Aufgabe des Event-Funktion alle dafür notwendigen Schritte einzuleiten. Also wird die Variable hier den entsprechenden anderen Funktionen als Parameter übergeben.
Um dir zu "merken" was selektiert ist? Dann sollte die Listbox eine Funktion haben um eben diese Information zu erhalten.