ich hab eine Aufgabe zu lösen, bei der die Beschriftung eines Button auf Knopfdruck geändert werden soll.
Dazu soll in Abhängigkeit von der aktuellen Beschriftung eine Variable gesetzt werden.
Das klappt alles ganz gut und innerhalb der Routine wird der erwartete Wert der Variable ausgegeben.
Allerdings gilt diese Variable nur innerhalb der Routine, obwohl ich der Routine die Variable mit übergebe.
Irgendwo mache ich mir einen Knoten, den ich nicht sehe.
Wer kann helfen?
- Ich sage schon einmal herzlich Danke!
Code: Alles auswählen
from tkinter import *
Variable = 0b11000011
def Aufgabe_loesen(Variable):
Taste = Button(pady="12", width="20", bg='azure',text="Text3")
Taste.grid(row=3,column=2)
def button_click(event): # Die Beschriftung der Taste rolliert bei Druck
if Taste["text"] == "Text1":
Taste["text"] = "Text2"
Variable = 0b10000010 # Dieser Wert wird später gebraucht ..
elif Taste["text" ] == "Text2":
Taste["text"] = "Text3"
Variable = 0b10001001 # oder dieser Wert ....
elif Taste["text" ] == "Text3":
Taste["text"] = "Text1"
Variable = 0b11000011 # oder dieser.
print('Aktueller Wert: ' + str(bin(Variable)))
# Die Variable in Abhängigkeit von dem Button wird richtig ausgegeben
# Der Wert soll an anderer Stelle weiterverarbeitet werden, muss also übergeben werden
Taste.bind("<Button-1>", button_click)
Aufgabe_loesen(Variable)
print('Aktueller Wert: ' + str(bin(Variable)))
# hier kommt immer der vor der Tastenabfrage angelegte Wert heraus aus der ersten Zeile.
# Die Änderung des Wertes durch die Routine wurde hier nicht übernommen.