Uhrzeit im Label aktualisieren

Fragen zu Tkinter.
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Uhrzeit im Label aktualisieren

Beitragvon Mawilo » Mittwoch 5. Mai 2004, 10:58

Hallo,

wie bringe ich die Uhrzeit in einem Label zum "Laufen"?

Bei meinem Aufruf wird immer nur die Aufrufzeit angezeigt. :(

Code: Alles auswählen

lt = time.localtime()                                           
jahr,monat,tag,stunde,minute,sekunde = lt[0:6]
zeit = "%02i:%02i:%02i Uhr" % (stunde, minute, sekunde)

lbtime=Label(frAb,text=zeit)
lbtime.pack(expand=1,anchor=E,side=TOP)


Stephan
Christopy_ohne_login

Beitragvon Christopy_ohne_login » Mittwoch 5. Mai 2004, 11:21

Habs noch nicht benutzt, aber Timer dürft die gesuchte Funktionalität beinhalten.
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Beitragvon Christopy » Mittwoch 5. Mai 2004, 11:27

Christopy_ohne_login hat geschrieben:Habs noch nicht benutzt, aber Timer dürft die gesuchte Funktionalität beinhalten.


Ne. Timer ruft die Funktion nur zeitverzögert auf. Aber bei den Threads ist man trotzdem auf der richtigen Spur...
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Mittwoch 5. Mai 2004, 11:53

Hallo Leute,

Das mit den Thread war voll gut. Dadurch habe ich die Antwort in einem Buch (von Michael Weigend) :idea: gefunden :D
Das is ne voll funzende Digitaluhr:

Code: Alles auswählen

from time import *
from Tkinter import *
import thread


class Uhr:
    def __init__(self):
        self.fenster = Tk()
        self.zeit = StringVar()
        self.anzeige = Label(self.fenster,
                             textvariable=self.zeit,
                             font=("Arial",20))
        self.anzeige.pack()
        thread.start_new_thread(self.aktualisieren, ())
        self.fenster.mainloop()

    def aktualisieren(self):
        while True:
            self.zeit.set(strftime("%X"))
            sleep(1)

uhr = Uhr()


Stephan
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Beitragvon Christopy » Mittwoch 5. Mai 2004, 12:01

Jo. Ansonsten hab ich hier noch was gefunden.
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Mittwoch 5. Mai 2004, 18:21

so ein zufall....
das wollte ich auchmal fragen, aber das programm hab ich dann nich mehr weitergeproggt...:)
Pythino
User
Beiträge: 41
Registriert: Montag 12. April 2004, 10:39
Kontaktdaten:

Beitragvon Pythino » Donnerstag 6. Mai 2004, 13:52

Geht es auch irgendwie, dass man diese Uhr unsichtbar macht?
Einfach nur das Tk-Fenster sparen, die Uhrzeit aber dennoch ausgeben?
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Donnerstag 6. Mai 2004, 18:03

Hi Pythino,

wie meinst Du das?
Unsichtbar ausgeben?


Gruß

Dookie
lionking
User
Beiträge: 28
Registriert: Mittwoch 28. April 2004, 16:03

Beitragvon lionking » Donnerstag 6. Mai 2004, 18:15

hi

ich glaub pythino meint die uhrzeit auf transparentem hintergrund, also ohne fenster?!

würde mich auch mal interresieren wie man sowas macht...
DER Olf
User
Beiträge: 283
Registriert: Mittwoch 24. Dezember 2003, 19:32

Beitragvon DER Olf » Freitag 7. Mai 2004, 18:11

hm....ich denke mal mit Tkinter GAR NICHT: eventuell mit den Pmw, mit der CLX für C++ / Delphi geht es :lol: :lol:

mfg

Olf
Pythino
User
Beiträge: 41
Registriert: Montag 12. April 2004, 10:39
Kontaktdaten:

Beitragvon Pythino » Montag 10. Mai 2004, 13:45

Ich meine, dass diese Uhr nur im Hintergrund existiert, aber nicht als Fenster angezeigt wird. Allerdings halte ich das für unmöglich...
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Beitragvon Christopy » Montag 10. Mai 2004, 14:00

@Pythino
Möglich ist es schon (einfach die Ausgabe und das Fenster weglassen), aber sinnvoll ist es eigentlich nicht. Was willst du mit einer Uhr die keiner sehen kann? Wenn Du irgendeine Zeit messen willst, ist es besser zwei Systemzeiten voneinander zu subtrahieren...

Um nur die Uhr zu zeichnen müsste man eine Fenster mit transparentem Hintergrund erzeugen. Afaik geht das weder mit TKinter noch mit wxWidgets. Unter Windows müsste man also direkt ein Fenster erstellen (hab ich aber noch nie gemacht...).
Pythino
User
Beiträge: 41
Registriert: Montag 12. April 2004, 10:39
Kontaktdaten:

Beitragvon Pythino » Montag 10. Mai 2004, 18:02

Hi Christopy,
die Uhr soll nicht gesehen werden, weil ich um eine bestimmte Uhrzeit eine Funktion ausführen will, sei es das Öffnen eines Fensters, oder was auch immer.
Ich habe es schon so versucht wie du es sagst, aber geklappt hat es leider noch nicht :?
Christopy
User
Beiträge: 131
Registriert: Montag 15. Dezember 2003, 22:39

Beitragvon Christopy » Montag 10. Mai 2004, 21:20

Hallo Pythino
Verstehe.
Das könntest Du tatsächlich mit Timer machen.
Pythino
User
Beiträge: 41
Registriert: Montag 12. April 2004, 10:39
Kontaktdaten:

Beitragvon Pythino » Dienstag 11. Mai 2004, 15:06

Danke, allerdings ist dies nicht genau das, was ich suche.
Dieser Timer zählt ja nur einen Countdown, ich hätte aber gerne eine Uhrzeitausgabe.

Entweder stehe ich gerade total auf dem Schlauch, oder ich bin einfach zu doof:

Code: Alles auswählen

t = Timer(30.0, hello)
t.start() # after 30 seconds, "hello, world" will be printed


Timer ist nicht definiert, obwohl ich
timer und sicherheitshalber thread importiert habe :?

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder