dein Beispiel @BlackJack ist perfekt, leicht zu lesen und zu verstehen, ich habe versucht es an meine Bedürfnisse anzupassen, vielleicht habe ich es falsch gemacht
Code: Alles auswählen
def __init__(self):
self.start_time = None
#######
self.elapsed_time = ('0' + str(TimeDelta()))
#######
#hier möchte ich 00:00:00 ausgabe und nicht 0:00:00, ist das der richtige weg um das zu erreichen
def stop(self):
self.elapsed_time = DateTime.utcnow() - self.start_time
######
self.elapsed_time = str(self.elapsed_time) #test
self.elapsed_time = self.elapsed_time[2:10] #test
######
#hier auch, ich möchte nur 2 letzte zahlen von den mili oder micro secunden haben, da bin ich mir auch nicht sicher ob das
#der richtige weg ist, zumindest macht es genau das was ich will, vielleicht kann man es noch eleganter hin bekommen
self.start_time = None
#print(self.elapsed_time)
#print('stop')
#hier würde ich gerne um ein reset erweitern
def reset(self):
self.elapsed_time = '00:00:00'
self.start_time = None
#print('reset')
#hier bekomme ich problem, da immer reset
def toggle(self):
if self.is_running:
self.stop()
else:
#elif self.is_running:
self.start()
#else:
# self.reset()
#hier scheitere ich an der erweiterung des reset
def update_display(self):
self.display['text'] = self.stopwatch
self.toggle_button['text'] = (
'Stop' if self.stopwatch.is_running else 'Start'
###'Stop' if self.stopwatch.is_running elif self.stopwatch.is_running 'Start' else 'Reset'###
# not gibt es nicht?
)
#ich würde gerne button raus nehmen und das ganze an tastatur eingabe (es sollte mit irgend einer taste gehen, zb. taste s 1x gedrückt = start, taste s zum zweiten mal stop, taste s zum dritten mal reset) dran verknüpfen, ist so etwas möglich?
class StopwatchUI(tk.Frame):
#@staticmethod
#def s_Key(event):
# print (event + " key pressed")
#@staticmethod
#def d_Key(event):
# print (event + " key pressed")
# bei def main habe ich noch, aber im moment geht es noch nicht
#root.bind('<s>', s_Key)
#root.bind('<d>', d_Key)
#root.focus_set()
Gruß
ganja