Hallo,
ich habe vor unter anderem einen Wecker über mein Touchscreen Panel zu steuern!
Dieser sollte auch eine Verbleibende Zeit anzeigen!
Ich habe schon an einem Python Programm gebastelt:
Python
from Tkinter import *
import datetime
import time
# Ereignissbehandlung
def updateTime():
timenow = datetime.datetime.now().strftime("%H:%M:%S")
labelTime.config(text=timenow)
labelTime.after(300, updateTime)
def updateDate():
datenow = datetime.datetime.now().strftime("%d.%m.%Y")
labelDate.config(text=datenow)
labelDate.after(300, updateDate)
def updateAlarmClock():
buttonFrueh = buttonAlarmClockFrueh.cget('bg')
buttonSpaet = buttonAlarmClockSpaet.cget('bg')
buttonNacht = buttonAlarmClockNacht.cget('bg')
if buttonFrueh == "green":
timenow = time.localtime()
ajahr = timenow.tm_year
amonat = timenow.tm_mon
atag = timenow.tm_mday
astunde = 5
aminute = 10
if timenow.tm_hour > astunde:
atag += 1
zeitalarm = time.struct_time((ajahr, amonat, atag, astunde, aminute, 0, 0, 0, 0))
remain = time.mktime(zeitalarm) - time.mktime(timenow)
remain = time.localtime(remain)
timeremain = time.strftime("%H:%M", remain)
labelAlarmClockRemaining.config(text=timeremain)
elif buttonSpaet == "green":
timenow = time.localtime()
ajahr = timenow.tm_year
amonat = timenow.tm_mon
atag = timenow.tm_mday
astunde = 13
aminute = 10
if timenow.tm_hour > astunde:
atag += 1
zeitalarm = time.struct_time((ajahr, amonat, atag, astunde, aminute, 0, 0, 0, 0))
remain = time.mktime(zeitalarm) - time.mktime(timenow)
remain = time.localtime(remain)
timeremain = time.strftime("%H:%M", remain)
labelAlarmClockRemaining.config(text=timeremain)
elif buttonNacht == "green":
timenow = time.localtime()
ajahr = timenow.tm_year
amonat = timenow.tm_mon
atag = timenow.tm_mday
astunde = 21
aminute = 10
if timenow.tm_hour > astunde:
atag += 1
zeitalarm = time.struct_time((ajahr, amonat, atag, astunde, aminute, 0, 0, 0, 0))
remain = time.mktime(zeitalarm) - time.mktime(timenow)
remain = time.localtime(remain)
timeremain = time.strftime("%H:%M", remain)
labelAlarmClockRemaining.config(text=timeremain)
else:
labelAlarmClockRemaining.config(text="Wecker ist nicht Aktiv!")
labelAlarmClockRemaining.after(300, updateAlarmClock)
def switchLightAlarm():
color = buttonLightsAlarm.cget('bg')
if color == "red":
buttonLightsAlarm.config(bg="green")
elif color == "green":
buttonLightsAlarm.config(bg="red")
def klickAlarmClockButtonFrueh():
buttonAlarmClockFrueh.config(bg="green")
buttonAlarmClockSpaet.config(bg="gray")
buttonAlarmClockNacht.config(bg="gray")
buttonAlarmClockAus.config(bg="gray")
def klickAlarmClockButtonSpaet():
buttonAlarmClockFrueh.config(bg="gray")
buttonAlarmClockSpaet.config(bg="green")
buttonAlarmClockNacht.config(bg="gray")
buttonAlarmClockAus.config(bg="gray")
def klickAlarmClockButtonNacht():
buttonAlarmClockFrueh.config(bg="gray")
buttonAlarmClockSpaet.config(bg="gray")
buttonAlarmClockNacht.config(bg="green")
buttonAlarmClockAus.config(bg="gray")
def klickAlarmClockButtonAus():
buttonAlarmClockFrueh.config(bg="gray")
buttonAlarmClockSpaet.config(bg="gray")
buttonAlarmClockNacht.config(bg="gray")
buttonAlarmClockAus.config(bg="red")
labelAlarmClockRemaining.config(text="Wecker ist nicht Aktiv!")
# GUI Fenster
windowMain = Tk()
windowMain.title("Home GUI")
windowMain.geometry("750x500")
windowMain.config(bg="darkgray")
# GUI Widgets
frameHead = Frame(master=windowMain, bg="gray")
frameHead.pack(side="top", fill="x", padx=5, pady=5)
frameTitle = Frame(master=frameHead, bg="gray")
frameTitle.pack(side="left")
labelTitle = Label(master=frameTitle, text="Homecontrol", font"Arial", 48), bg="gray")
labelTitle.pack(side="left")
frameDate = Frame(master=frameHead, bg="gray")
frameDate.pack(side="top", fill="x")
labelDate = Label(master=frameDate, font"Arial", 16), bg="gray")
labelDate.pack(side="right")
labelDate.after(300, updateDate)
frameTime = Frame(master=frameHead, bg="gray")
frameTime.pack(side="top", fill="x")
labelTime = Label(master=frameTime, font"Arial", 16), bg="gray")
labelTime.pack(side="right")
frameBody = Frame(master=windowMain, bg="gray")
frameBody.pack(side="top", fill="x", padx=5, pady=5)
frameAlarmClockTitle = Frame(master=frameBody, bg="gray")
frameAlarmClockTitle.pack(side="top", fill="x")
labelAlarmClockTitle = Label(master=frameAlarmClockTitle, text="Wecker", font"Arial", 24), bg="gray")
labelAlarmClockTitle.pack(side="left")
frameAlarmClockButtons = Frame(master=frameBody, bg="gray")
frameAlarmClockButtons.pack(side="top", fill="x")
buttonAlarmClockFrueh = Button(master=frameAlarmClockButtons, text="1. Schicht", font"Arial", 16), bg="gray", command=klickAlarmClockButtonFrueh)
buttonAlarmClockFrueh.pack(side="left", padx=3, pady=3)
buttonAlarmClockSpaet = Button(master=frameAlarmClockButtons, text="2. Schicht", font"Arial", 16), bg="gray", command=klickAlarmClockButtonSpaet)
buttonAlarmClockSpaet.pack(side="left", padx=3, pady=3)
buttonAlarmClockNacht = Button(master=frameAlarmClockButtons, text="3. Schicht", font"Arial", 16), bg="gray", command=klickAlarmClockButtonNacht)
buttonAlarmClockNacht.pack(side="left", padx=3, pady=3)
buttonAlarmClockAus = Button(master=frameAlarmClockButtons, text="Aus", font"Arial", 16), bg="red", command=klickAlarmClockButtonAus)
buttonAlarmClockAus.pack(side="left", padx=3, pady=3)
labelAlarmClockRemaining = Label(master=frameAlarmClockButtons, font"Arial", 16), bg="yellow")
labelAlarmClockRemaining.pack(side="left", padx=3, pady=3)
frameLightsTitle = Frame(master=frameBody, bg="gray")
frameLightsTitle.pack(side="top", fill="x")
labelLightsTitle = Label(master=frameLightsTitle, text="Lichter", font"Arial", 24), bg="gray")
labelLightsTitle.pack(side="left")
frameLightsButtons = Frame(master=frameBody, bg="gray")
frameLightsButtons.pack(side="top", fill="x")
buttonLightsSofa = Button(master=frameLightsButtons, text="Sofa", font"Arial", 16))
buttonLightsSofa.pack(side="left", padx=3, pady=3)
buttonLightsBett = Button(master=frameLightsButtons, text="Bett", font"Arial", 16))
buttonLightsBett.pack(side="left", padx=3, pady=3)
buttonLightsAlarm = Button(master=frameLightsButtons, text="Alarm", font"Arial", 16), bg="green", command=switchLightAlarm)
buttonLightsAlarm.pack(side="left", padx=3, pady=3)
updateTime()
updateDate()
updateAlarmClock()
# GUI Eventschleife
windowMain.mainloop()
Alles anzeigen
allerdings stimmt die Berechnung der Uhrzeit nicht und ich denke es gibt bestimmt noch eine bessere Lösung, auch da es mit dem Übergang von Monat zu Monat und Jahr zu Jahr Probleme geben wird!
Bitte und eure mithilfe würde gerne mehr mit Python lernen!
Danke im Vorraus!