Seite 1 von 1

Ne frage zu time+Tkinter

Verfasst: Freitag 12. Mai 2006, 15:51
von Havak
Vlt. wurde das hier schon ma gepostet aber ich find hier echt nix

so ich wollt mir so aus guter laune mal ne Uhr basteln

Quellcode:

Code: Alles auswählen

#! /usr/local/bin/python
import time
from string import split
from Tkinter import *
def aktual():
    date=split(time.ctime(time.time()))
    lab["text"]='%s'%date[3]

date=split(time.ctime(time.time()))
hf=Tk()
zeit='%s'%date[3]
lab=Label(hf,text='%s'%date[3])
lab.pack()
but=Button(hf,text='refresh',command=aktual)
but.pack()
hf.mainloop()
so jetz is nur das dumme das ich es nicht hinbekomme das das Label von alleine seine Zeit ändert
momentan funzt das mit dem refresh-button aber das is ja nich das ware

ich würde gerne mal wissen wie man das machen kann

danke im vorraus

Edit (Leonidas): Code in Python-Tags gesetzt und verschoben.

Verfasst: Freitag 12. Mai 2006, 15:56
von pr0stAta
Hi Havak
Erstmal:
[wiki]Modul Import#FromModulImport[/wiki]

dann falsches forum :> gibt ja ein tkinter forum.
und zu guter letzt, guck dir mal die Update() Funktion an,
damit kann man in tkinter glaub ich die gui aktualisieren

gruss

Verfasst: Freitag 12. Mai 2006, 16:00
von Havak
hab doch die Module importiert :?:

hmm.. zschuldigung das es das falsche Forum is hab mich hier grad erst angemeldet ...

aber wie funztn diese Update()-funktion richtig ?

Verfasst: Freitag 12. Mai 2006, 16:54
von Leonidas
Havak hat geschrieben:hab doch die Module importiert :?:
Ja, aber mit einem *-import, lies doch bitte mal die Wiki-Seite.

Den Thread habe ich verschoben, kein Problem.

Verfasst: Freitag 12. Mai 2006, 17:42
von jAN
Ich habe mal eine Uhr für dich gebastelt... die sich sogar selbst aktualisiert...

Code: Alles auswählen

import Tkinter as tk
import thread,time
root=tk.Tk()
zeit=tk.StringVar(root)
lab=tk.Label(root,textvariable=zeit)
lab.pack()
def aktualisieren():
    while 1:
        zeit.set(time.strftime("%X"))
        time.sleep(1)
thread.start_new(aktualisieren,())
root.mainloop()
Wie du siehst habe ich eine StringVar von Tkinter benutzt um die Uhrzeit in das Label zu bringen. Die StringVar hat den Vorteil, das dass Label in dem sie ist automatisch geändert wird, wenn sich der Ihnhalt ändert... mit einem thread ersetze ich nun den Inhalt der StringVar mit der aktuellen Zeit. diese Liefert die funktion time.strftime("%X")

Verfasst: Freitag 12. Mai 2006, 21:50
von Mawilo
Zu diesem Thema gab es hier schon einmal einen Thread von mir.

Stephan

Verfasst: Samstag 13. Mai 2006, 00:31
von Havak
danke an alle