Ich habe gerade einen Hänger und komme nicht aus eigener Hilfe in einem Programm weiter.
Ziel meines Programms ist es in einem Tk Fenster einen Zähler laufen zu haben und das man gleichzeitig auf Knöpfe drücken kann etc... Das hat mich zum Paket threading und zur Thread Programmierung geführt.
Hier ist mein Beispielskript:
from Tkinter import *
import threading
import time
class ThreadReadtemp(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
def run(self):
i=0
while 1:
i = i+1
time.sleep(1)
class mainwindow(Frame):
def __init__(self):
Frame.__init__(self)
a= ThreadReadtemp()
self.can = Canvas(self, bg='white', height=190,
width=600, borderwidth =2)
self.can.create_text(10, 50, anchor =NW, text = "HELLO",
font=('Times', 20, 'bold'))
self.can.pack()
self.pack()
self.mainloop()
if __name__ == '__main__':
mainwindow()
An der Stelle des "HELLO" hätte ich nun gerne das der Wert des Zählers i angezeigt wird. Wie gesagt ich hänge. D.h. mir return würde ich mich selbst aus der while-Schleife rausschmeissen und mein Gefühl sagt mir, dass globale Variablen mir hier auch nicht wirklich weiterhelfen (ausserdem ist das dreckig) und sowieso zu neuen Problemen führen würde wenn die Sache etwas umfangreicher wird. Sprich die Lösung wäre nicht wirklich Objektorientiert.
Kann mir jemand auf die Sprünge helfen? Vielen Dank!