Seite 1 von 1

text neu laden??? [gelöst]

Verfasst: Freitag 4. Juli 2008, 15:48
von tjuXx
Hallo,

ich schreibe gerade für meine Freundin ein Countdown-Programm. Welches die Zeit ausgibt wann ich sie besuchen komme.

Habe es soweit schon hinbekommen.
Hätte es aber noch gerne so, dass sich die Zeit automatisch aktualisiert, solange das Fenster geöffnet ist.

Code: Alles auswählen

import time,Tkinter

def leftTime():
	totalTime   = int(1220896200 - time.time())
	ltime       = [0,0,0,0]
	ltime[0]    = totalTime/86400
	lsec        = totalTime%86400
	ltime[1]    = (lsec)/3600
	lsec        = lsec%3600
	ltime[2]    = (lsec)/60
	ltime[3]    = (lsec)%60
	return ltime


root = Tkinter.Tk()
root.title("Countdown")
ltime = leftTime()
vtext = "  Ich komme in %d Tagen, %d Stunden, %d Minuten und %d Sekunden.  "%(ltime[0],ltime[1],ltime[2],ltime[3])
w = Tkinter.Label(root,text=vtext)
w.pack()
root.mainloop()
Ich hoffe ihr könnt mir dabei helfen....

LG TjUXx

Re: text neu laden???

Verfasst: Freitag 4. Juli 2008, 16:14
von numerix
tjuXx hat geschrieben:ich schreibe gerade für meine Freundin ein Countdown-Programm. Welches die Zeit ausgibt wann ich sie besuchen komme.
Das ist ja süß! :)
tjuXx hat geschrieben:Habe es soweit schon hinbekommen.
Hätte es aber noch gerne so, dass sich die Zeit automatisch aktualisiert, solange das Fenster geöffnet ist.
So z.B.:

Code: Alles auswählen

import time,Tkinter

def leftTime():
    totalTime   = int(1220896200 - time.time())
    ltime       = [0,0,0,0]
    ltime[0]    = totalTime/86400
    lsec        = totalTime%86400
    ltime[1]    = (lsec)/3600
    lsec        = lsec%3600
    ltime[2]    = (lsec)/60
    ltime[3]    = (lsec)%60
    return ltime

def refresh_time():
    ltime = leftTime()
    vtext = "  Ich komme in %d Tagen, %d Stunden, %d Minuten und %d Sekunden.  "%(ltime[0],ltime[1],ltime[2],ltime[3])
    label.config(text=vtext)
    root.after(1000,refresh_time)

root = Tkinter.Tk()
root.title("Countdown")
label = Tkinter.Label(root)
label.pack()
refresh_time()
root.mainloop()
Zu deinem Code wäre noch zu sagen, dass die Berechnung der Restzeit nicht sehr elegant gelöst ist. Schau dir doch mal das Modul datetime an.

Verfasst: Freitag 4. Juli 2008, 16:29
von tjuXx
vielen Dank für die schnelle Hilfe.

Ich habe noch eine weitere Frage.

Wenn ich in Windows das python file öffne, öffnen sich zwei Fenster ("python.exe" und "Counter").
Ist es möglich, dass nur das Tkinter Window ("Counter") angezeigt wird???

Verfasst: Freitag 4. Juli 2008, 17:11
von EyDu

Code: Alles auswählen

"  Ich komme in %d Tagen, %d Stunden, %d Minuten und %d Sekunden.  "%(ltime[0],ltime[1],ltime[2],ltime[3]) 
kann man auch besser schreiben als:

Code: Alles auswählen

"  Ich komme in %d Tagen, %d Stunden, %d Minuten und %d Sekunden.  "% tuple(ltime)
Die Klammern um "lsec" bei der Berechnung von "ltime[2]" und "ltime[3]" sind auch nicht nötig.

Verfasst: Freitag 4. Juli 2008, 22:22
von kaytec
Hallo tjuXx !

Aendere die Endung auf "*.pyw".

gruss frank

Verfasst: Donnerstag 10. Juli 2008, 18:45
von tjuXx
nochmals vielen Dank!