blöd nur, dass der schreiber des codes seine methoden nicht spezifiziert hat.
ich hab mir ja mal die beiden methoden zu brust genommen:
Code: Alles auswählen
def on_timer(self, event):
now = datetime.datetime.now()
if now < self.end_datetime:
diff = self.end_datetime - now
new_value = "%6i Minuten %6i sec." % (diff.seconds // 60, diff.seconds % 60)
else:
new_value = "%6i Minuten %02i" % (0, 0)
self.timer.Stop()
self.musik_abspielen()
self.txt_startvalue.Enable()
self.btn_start_stop.SetLabel("Start")
self.anzeige.SetLabel(new_value)
wx.YieldIfNeeded()
def start_stop_countdown(self, event):
if self.btn_start_stop.GetLabel() == "Start":
diff_seconds = int(self.txt_startvalue.GetValue()) * 60
now = datetime.datetime.now()
self.end_datetime = now + datetime.timedelta(seconds = diff_seconds)
self.timer.Start(100)
self.txt_startvalue.Disable()
self.btn_start_stop.SetLabel("Stop")
else:
self.timer.Stop()
self.txt_startvalue.Enable()
self.btn_start_stop.SetLabel("Start")
aber irgendwie werd ich nicht schlau draus

ich wollts so machen:
wenn stop gedrückt -> hält countdown an und ändert das textfeld in "keine veränderung" um. wenn mann wieder auf start drückt und "keine veränderung" im textfeld steht, dann soll er einfach weiter machen. wenn aber eine zahl drin steht, dann soll er einen neuen countdown starten.
aber leichter gesagt als getan. wenn ich an der new_value oder an diff_secounds rumfusche, zaubert er mir ein neues textfeld -.-