listbox problem

Fragen zu Tkinter.
Antworten
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Montag 22. November 2004, 15:19

So heut ist der Tag der großen Fragen für mich ;)
'Tschuldigung wegen dem etwas dämlichen Titel, aber ich hatte
keine Ahnung wie ich das hätte beschreiben sollen.
Nun zu meiner Frage.
Ich habe einen Countdown laufen. Man gibt eine Zeit an und daraufhin
soll jede Sekunde in eine Listbox eingetragen werden.

Code: Alles auswählen

#eingabe etc
....
x = Zeit_eingabe
for x in range(zeit, 0, -1):
    time.sleep(1)
    Listbox.insert(END, x)
Problem ist nur, das er wartet bis die zeit abgelaufen ist und dann alle sekunden einträge "reinballert" :) gibts ne möglichkeit das er wirklich nach
jeder Sekunde x einträgt?
mfg prosta
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Montag 22. November 2004, 15:35

Hi!

Mir fallen spontan 2 Möglichkeiten ein:

Code: Alles auswählen

from Tkinter import *
import time

def count_it():
	for x in range(10,0,-1):
		time.sleep(1)
		l.insert(END,x)
		root.update()

root = Tk()
l = Listbox()
l.pack()
Button(text="Go",command=count_it).pack()

root.mainloop()

Code: Alles auswählen

from Tkinter import *
import time
import thread

def count_it():
	for x in range(10,0,-1):
		time.sleep(1)
		l.insert(END,x)

def time_it():
	thread.start_new_thread(count_it,())

root = Tk()
l = Listbox()
l.pack()
Button(text="Go",command=time_it).pack()

root.mainloop()
Viel Spaß!

Gruß, mawe
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

Montag 22. November 2004, 15:46

großes danke schön. lösung 1 habe ich genommen
und .update() funktioniert :)
Antworten