Ne frage zu time+Tkinter

Fragen zu Tkinter.
Antworten
Havak
User
Beiträge: 4
Registriert: Freitag 12. Mai 2006, 15:35
Wohnort: Berlin

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.
pr0stAta
User
Beiträge: 271
Registriert: Freitag 17. September 2004, 11:49
Wohnort: Bremen

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
Havak
User
Beiträge: 4
Registriert: Freitag 12. Mai 2006, 15:35
Wohnort: Berlin

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 ?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

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")
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
Benutzeravatar
Mawilo
User
Beiträge: 452
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Zu diesem Thema gab es hier schon einmal einen Thread von mir.

Stephan
Havak
User
Beiträge: 4
Registriert: Freitag 12. Mai 2006, 15:35
Wohnort: Berlin

danke an alle
Antworten