Jump to content

Grundlegendes Verständnisproblem zum Thema Callbacks


Recommended Posts

Hallo,

 

ich programmiere in Python und habe noch ein grundlegendes Problem bei der Nutzung von Callbacks. Wenn ich zum Beispiel bei einem LCD 128x64 den Callback für den GUI-Slider nutzen möchte, dann kann ich zwar wie im Beispiel gezeigt den aktullen Slider-Wert in der Callback-Funktion selber verwenden, aber ich kann den Wert nicht ans Hauptprogramm zurück geben, da ich keine Rückgabewerte für die Callback-Funktion definieren kann. Theoretisch müssten ich die Variable in der Callback-Funktion als global definieren und dann überschreiben. Das ist aber nicht wirklich im Sinne des Erfinders, oder?

 

Ansonsten muss ich den Wert des Sliders mit der Funktion "lcd.get_gui_slider_value(0)" abfragen, wenn ich diesen in __main__ verwenden möchte.

 

Was also genau ist dann der Sinn der Callbacks? Vielleicht stehe ich gerade komplett auf dem Schlauch, da ich erst seit kurzem in Python programmiere. Kann mir da jemand einen Tipp geben? Vielleicht hat ja sogar jemand ein Beispiel parat?

 

Gruß Wunderkerze

Link zu diesem Kommentar
Share on other sites

Das hängt ganz davon ab wie du deinen GUI-Slider nutzen möchtest.

 

Je nach Anwendung ist es möglich auf die Änderung des Sliders direkt im Callback zu reagieren.

 

Falls es in deinem Programm eine Main-Loop o.ä. gibt die alles behandeln soll, kannst du z.B. die Werte des Sliders in eine Queue (oder ein Future) packen und in der Main-Loop regelmäßig schauen ob etwas in der Queue ist.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...