Seite 1 von 1
tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 09:53
von JOnybery
Hallo,
ich hoffe ihr könnt mir helfen. Gibt es eine möglichkeit, bei tkinter, beim Start zu kontrollieren ob ein Checkbutton beim letzten mal gedrückt wurde und somit aktiviert wurde?
klappt dieses nur damit einen Wert in eine Datei zu speichern?
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 10:00
von sparrow
Um einen Status in einem Programm zu setzen, der auf einer vorherigen Ausführung des Programms basiert, musst du diesen Wert natürlich permanent speichern.
Das Speichern in einer Datei ist wohl die gängigste Methode.
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 10:09
von JOnybery
danke erstmal für die schnelle Antwort.
das speichern in einer Datei hab ich schon doch wie kann ich vorher auslesen wie der Wert ist?
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 11:04
von Sirius3
Du weißt nicht, wie Du die Datei, die Du geschrieben hast, wieder lesen kannst?
Zeig doch mal den Code, den Du versucht hast.
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 11:32
von JOnybery
Sirius3 hat geschrieben: Montag 6. Mai 2019, 11:04
Du weißt nicht, wie Du die Datei, die Du geschrieben hast, wieder lesen kannst?
doch das weiß ich mir fehlt nur die Möglichkeit den Button zu verändern
Code: Alles auswählen
#--------Biblioteken--------
from tkinter import*
import datetime
import locale
#-----------Definitionen---------------
#Knöpfe
def anAus_1():
lab_1["text"] = var_1.get()
with open("anAus_1.txt", "w") as fh:
fh.write(lab_1["text"])
return
#-----------Fenster--------------
root = Tk()
root.title("Garten Bewässerung")
knopfframe = Frame(root)
knopfframe.grid(column=0,row=0, sticky=(N,W) )
zeitframe = Frame(root)
zeitframe.grid(row=0, column=1, sticky=(N,E))
zsf = Frame (root)
zsf.grid(row=2, column=0,sticky=(N,W))
#------------Variablen------------
#Knöpfe
var_1 = StringVar()
#-------------Labels--------------
#Knöpfe
lab_titel=Label(knopfframe, text="Manuelle Steuerung")
lab_1 = Label(knopfframe, text="Aus")
#-------------Knöpfe-------------
c_1=Checkbutton(knopfframe, text="Relai 1", offvalue="Aus", onvalue="An", variable=var_1, command=anAus_1)
c_1.deselect()
#--------------packen------------------
c_1.grid(row=1, column=0)
lab_titel.grid(row=0, column=0)
lab_1.grid(row=2, column=0)
root.mainloop()
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 11:44
von sparrow
Du _tust_ doch schon etwas mit dem Checkbutton.
Was meinst du denn, was .deselect() tut?
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 11:47
von JOnybery
ja das ist richtig das versteh ich auch alles meine frage ist nur wenn ich das Programm jetzt einmal ausführe und dann den Checkbutton auswähle möchte ich das er auch noch aktiv ist wenn ich das Programm das nächste mal starte?
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 12:35
von Sirius3
Also weißt Du doch nicht, wie Du die Datei wieder einlesen kannst, dann sonst würdest Du es ja schon machen: Datei lesen und den Inhalt auf "An" prüfen und den Checkbutton entsprechend setzten.
Die Kommentare mit den --- sind eigentlich überflüssig, weil das jeder auch so lesen kann, was da passiert. Zumal wenn immer danach etwas von Knöpfen steht, ist das sehr verwirrend, wenn das dann gar nichts mit Knöpfen zu tun hat.
Gewöhn Dir gleich wieder ab, Variablen mit _1 zu versehen, das hat keinen Mehrwert. Variablen sollten aussagekräftig sein.
Eine Funktion sollte alles, was sie braucht über ihre Argumente bekommen, das tut `anAus_1` nicht, da fehlt lab_1 und var_1.
Sternchenimporte sind böse, warum steht hier im Forum bei jedem zweiten Beitrag zu tkinter.
Warum benutzt Du beim Label nicht var_1 um den Wert automatisch dem Checkbutton-Status anzupassen?
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 13:24
von JOnybery
okay ich werde deine Tipps zurate nehmen und mich weiter ransetzen.
Re: tkinter Checkbutton aktivität vorher auslesen
Verfasst: Montag 6. Mai 2019, 13:29
von JOnybery
Sirius3 hat geschrieben: Montag 6. Mai 2019, 12:35
Warum benutzt Du beim Label nicht var_1 um den Wert automatisch dem Checkbutton-Status anzupassen?
wie würde das denn anders aussehen?