[Python-de] canvas aktualisieren

Andreas Nadler python at biopop.de
Mon Mar 18 20:57:09 EST 2002


Hallo Leutz,

ich hab mir eine kleine Uhr in Python gebastelt. Und hab jetzt mal eine
Frage.
Zu erst habe ich die Zeit einfach in ein Label reingeschrieben und mit einem
Label.config() aktualisiert. Geht ja auch wunderbar. Dann wollte ich das
ganze mit einem Canvas ausprobieren, da man damit ein wenig mehr als mit
einem Label machen kann. Jetzt habe ich das Problem, das mein Canvas sich
zwar aktualisiert aber die Schrift der vergangenen Uhrzeit erhalten bleibt.
Sozusagen wird das nur ueberschrieben. Also habe ich ein wenig mit
Canvas.delete() und Canvas.itemconfig() rumgespielt aber nicht das bekommen
was ich wollte. Ich haenge einfach mal meinen kleinen Quelltext hier unten
an. Vielleicht mag mir jemand helfen.

Gruss und dank, Andreas

<--schnipp-->

#!/usr/bin/env python

import time
from Tkinter import *

__version__ = "0.1"
__date__ = "2002-03-16"

class Uhr( Frame ):
    "Eine Klasse Uhr :)"

    labelfont = ("Tahome", 180, "bold")

    def __init__( self, parent=None ):
        "Wir erstellen ein Tk-Fenster"

        Frame.__init__( self, parent )
        self.pack()

        self.master.title("Uhr")
        self.digital()
        self.poll()

class Canvasn( Uhr ):
    "Das gleiche wie Label nur mit einem Canvas"
    def digital( self ):
        self.canvas = Canvas( self, border=1, relief="sunken")
        self.canvas.pack()

    def poll( self ):
        zeit = "%02d:%02d:%02d" % (time.localtime(time.time())[3],
                                 time.localtime(time.time())[4],
                                 time.localtime(time.time())[5])
        self.canvas.create_text(100, 100, text=zeit )
        #self.canvas.delete(zeit)
        self.canvas.after( 100, self.poll )



if __name__ == "__main__":
    Canvasn().mainloop()

<--schnapp-->

--
Euer Andi
http://www.biopop.de
http://www.heusenstammerstrasse.de
-> mehr Serotonin fuers Gehirn




More information about the Python-de mailing list