Mit dem command funktioniert das ja, dass wenn ich einen Radiobutto clicke, ich ein Entry aktivieren oder disablen kann.
Mein Problem: Wie bekomme ich mehrere Entrys auf einmal geändert?
Wenn man es sich anders überlegt, muss der aktivierte Entry ja wieder deaktiviert werden.
BlackJack hat mich dann auf die Idee mit dem trace gebracht. Jetzt müsste ja meine callbackfunktion dann eigentlich aufgerufen werden, sobald ich einen Radiobutton auswähle, oder die Auswahl ändere, oder?
Irgendwie krieg ich das gerade aber net so richtig hin.
Hier der code Ausschnitt:
Code: Alles auswählen
def change_indikator():
global indikator,indi_entry, calc_cat_entry,kat
if indikator.get() == "ID":
indi_entry.config(state = NORMAL)
calc_cat_entry.config(state = DISABLED)
kat.config(state = DISABLED)
elif indikator.get() =="category":
indi_entry.config(state = DISABLED)
calc_cat_entry.config(state = NORMAL)
kat.config(state = NORMAL)
def BerechneIndikatoren():
global root, pw_db,indikator, ebene, calc_cat_entry, indi_entry, kat,land_entry
root = Tk()
# ...
indikator = StringVar()
indikator.trace("w",change_indikator())
indi_entry = Entry(root,width = 0, state = DISABLED)
calc_cat_entry = Entry(root,width = 0,state = DISABLED)
kat = Entry(root, width = 0,state = DISABLED)
category = Radiobutton(root,
anchor = "w",
bg = "#ffffc1", font = "Verdana 10 bold",
text = u"Auswahl \u00FCber Kategorie (calc_cat oder kat)",
variable = indikator,
value = "category")
ID= Radiobutton(root,
anchor = "w",
bg = "#ffffc1", font = "Verdana 10 bold",
text = u"Auswahl \u00FCber ID",
variable = indikator,
value = "ID")
, den ich gerade nicht zuordnen kann. indikator ist doch ein StringVar().
Muss bei den Radiobuttons noch ein command rein? Dachte das kann ich weglassen, weil das Trace ja eine Zustandsändeurng mitbekommen müsste.