Tkinter und Counter / Neuling braucht Hilfe

Fragen zu Tkinter.
Antworten
firstfacility
User
Beiträge: 28
Registriert: Samstag 20. Dezember 2014, 09:26

Hallo Forum,

ich beschäftige mich seit kurzem mit tkinter und habe ein Problem mit einen Counter.

Code: Alles auswählen

def callback():
    count = 1
    while (count < 21):
        print 'The count is:', count
        count = count + 1
        label.config(text=str(count))
        #label.after(1000, count)
        #var.set(count)
        delay = 10
        steps = 10
        forward(int(delay) / 1000.0, int(steps))
        steps = 10
        backwards(int(delay) / 1000.0, int(steps))
label = Label(master, fg="green")
label.grid(row=3, column=1)
Die print Ausgabe zeigt das richtig gezählt wird. Jedoch wird in der GUI erst nach beenden des Prozesses das Ergebnis angezeigt. Ich bekomme einen Fehler:
TypeError: "int" objekt is not callable

Kann mir jemand helfen ?

Gruß

Frank
Sirius3
User
Beiträge: 17750
Registriert: Sonntag 21. Oktober 2012, 17:20

@firstfacility: solange in callback bearbeitet wird, ist die GUI eingefroren, weil alle Events, auch Neuzeichnen, nur durch den Eventloop abgearbeitet werden, der ja durch Callbacks unterbrochen wird.
Wo taucht denn der Fehler auf?
BlackJack

@firstfacility: Der Lösungsansatz steht ja auch schon auskommentiert im Programm: die `after()`-Methode. Die dann aber natürlich nicht in einer Schleife, denn die soll durch die Methode ja gerade ersetzt werden, damit die GUI-Hauptschleife zum Zug kommt und die Anzeige aktualisieren kann.
firstfacility
User
Beiträge: 28
Registriert: Samstag 20. Dezember 2014, 09:26

vielen Dank das war es.
Antworten