Forum
>>
Programmazione Python
>>
GUI
>>
aggiornare dato in finestra TKinter
Pagina: 1
Esegui il login per scrivere una risposta.
Pagina: 1
Scritto da Ema |
2016-08-01 14:50:25 - aggiornare dato in finestra TKinter
|
Ciao,
premetto che sono mooolto ignorante in materia, ma sto cercando di realizzare una finestra di dialogo con un programmino che ho creato per la gestione del mio acquario. Ora....ho un problemino. Come posso fare per far si che mi venga scritto un dato nella finestra e aggiornato ogni secondo o più? #!/usr/bin/env python from tkinter import * class MiaApp: def __init__(self, genitore): in_file = open("temp.txt","r") t= in_file.read() in_file.close() testo = Label(text='ACQUARIO',font=("helvetica",18)).grid(column =5, row =1) luci = Label(text='LUCI',font=('helvetica',14)).grid(column =1, row =3) aria = Label(text='ARIA',font=('helvetica',14)).grid(column =2, row =3) co2 = Label(text='CO2',font=('helvetica',14)).grid(column =3, row =3) cpu = Label(text='CPU',font=('helvetica',10)).grid(column =9, row =2, sticky=W) acqua = Label(text='ACQUA T°',font=('helvetica',10)).grid(column =1, row =2, sticky=W) temp = Label(text=t,font=('helvetica',10)).grid(column =2, row =2, sticky=W) self.pulsante_luci = Button() self.pulsante_luci.configure(text = "ON", background = "grey", fg = 'black') self.pulsante_luci.grid(column =1, row =4) self.pulsante_luci.bind("<Button-1>", self.pulsante_luciPremuto) self.pulsante_aria = Button() self.pulsante_aria.configure(text = "ON", background = "grey",fg = 'black') self.pulsante_aria.grid(column =2, row =4) self.pulsante_aria.bind("<Button-1>", self.pulsante_ariaPremuto) self.pulsante_co2 = Button() self.pulsante_co2.configure(text = "ON", background = "grey",fg = 'black') self.pulsante_co2.grid(column =3, row =4) self.pulsante_co2.bind("<Button-1>", self.pulsante_co2Premuto) self.pulsante2 = Button() self.pulsante2.configure(text = "MANUALE", background = "grey",fg = 'black') self.pulsante2.grid(column =8, row =5) self.pulsante2.bind("<Button-1>", self.pulsante2Premuto) self.pulsante3 = Button() self.pulsante3.configure(text = "AUTOMATICO", background = "grey",fg = 'black') self.pulsante3.grid(column =10, row =5) self.pulsante3.bind("<Button-1>", self.pulsante3Premuto) def pulsante_luciPremuto(self, evento): if self.pulsante2["background"] == "green": if self.pulsante_luci["background"] == "green": self.pulsante_luci["background"] = 'red' self.pulsante_luci['fg'] = 'black' self.pulsante_luci['text'] = 'OFF' a = open ("luci.txt", "w") a.write("off") a.close else: self.pulsante_luci["background"] = "green" self.pulsante_luci['fg'] = 'black' self.pulsante_luci['text'] = 'ON' a = open ("luci.txt", "w") a.write("on") a.close else: self.pulsante_luci["background"] = "grey" self.pulsante_luci['fg'] = 'black' self.pulsante_luci['state'] = 'disabled' def pulsante_ariaPremuto(self, evento): if self.pulsante2["background"] == "green": if self.pulsante_aria["background"] == "green": self.pulsante_aria["background"] = "red" self.pulsante_aria['fg'] = 'black' self.pulsante_aria['text'] = 'OFF' a = open ("aria.txt", "w") a.write("off") a.close else: self.pulsante_aria["background"] = "green" self.pulsante_aria['fg'] = 'black' self.pulsante_aria['text'] = 'ON' a = open ("aria.txt", "w") a.write("on") a.close else: self.pulsante_aria["background"] = "grey" self.pulsante_aria['fg'] = 'black' self.pulsante_aria['state'] = 'disabled' def pulsante_co2Premuto(self, evento): if self.pulsante2["background"] == "green": if self.pulsante_co2["background"] == "green": self.pulsante_co2["background"] = 'red' self.pulsante_co2['fg'] = 'black' self.pulsante_co2['text'] = 'OFF' a = open ("co2.txt", "w") a.write("off") a.close else: self.pulsante_co2["background"] = "green" self.pulsante_co2['fg'] = 'black' self.pulsante_co2['text'] = 'ON' a = open ("co2.txt", "w") a.write("on") a.close else: self.pulsante_co2["background"] = "grey" self.pulsante_co2['fg'] = 'black' self.pulsante_co2['state'] = 'disabled' def pulsante2Premuto(self, evento): if self.pulsante2["background"] == "grey" or "grey": self.pulsante2["background"] = "green" self.pulsante3["background"] = "grey" def pulsante3Premuto(self, evento): if self.pulsante2["background"] == "green" or "grey": self.pulsante2["background"] = "grey" self.pulsante3["background"] = "green" self.pulsante_luci["background"] = "grey" self.pulsante_aria["background"] = "grey" self.pulsante_co2["background"] = "grey" ' radice = Tk() radice.title('ACQUARIO') miaApp = MiaApp(radice) radice.mainloop()Così mi restituisce la Temperatua Acqua, la quale viene letta da un file costantemente aggiornato. Però non mi viene ovviamente aggiornato il dato. Secondo voi qual'è il metodo migliore per aggiornarlo? Grazie Ema |
|
Scritto da Claudio_F |
2016-08-01 17:29:04 - Re: aggiornare dato in finestra TKinter
|
#!/usr/bin/env python from tkinter import * class MiaApp: def __init__(self, genitore): self.genitore = genitore def recall(self): ############################################### # qualcosa da fare circa una volta al secondo # ############################################### self.genitore.after(1000, self.recall) radice = Tk() radice.title('ACQUARIO') miaApp = MiaApp(radice) radice.after(1000, miaApp.recall) radice.mainloop() *** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione *** |
|
Scritto da Ema |
2016-08-01 18:14:53 - Re: aggiornare dato in finestra TKinter
|
Grazie!!!!
|
Pagina: 1
Esegui il login per scrivere una risposta.