I am creating a simple GUI to display bus arrival time. How can I refresh the program every minute to get updated data? I have tried using while loops but it prevents the window to open.
Below is the code
import json
from tkinter import *
window = Tk()
window.title("Welcome to the Smart Bus Stop")
window.configure(bg='black')
#Tried using while loop from here onwards but it didn't work
jsonFile = open('bus_arrival.json', 'r')
values = json.load(jsonFile)
z = len(values)
BusService = ['', '', '', '', '']
BusArr1 = ['', '', '', '', '']
BusArr2 = ['', '', '', '', '']
for x in range(z):
BusService[x] = values[x]["Bus Service"]
BusArr1[x] = values[x]["1st Bus"]
BusArr2[x] = values[x]["2st Bus"]
print("\n")
print(BusService[x])
print(BusArr1[x])
print(BusArr2[x])
BusNo = Label(window, text="Bus", font=("Arial Bold", 30), bg="black", fg="white")
BusNo.grid(row=x, column=0)
ServiceNo = Label(window, text=BusService[x], font=("Arial Bold", 30), bg="black", fg="white")
ServiceNo.grid(row=x, column=1)
Bus1 = Label(window, text=BusArr1[x], font=("Arial Bold", 30), bg="black", fg="white")
Bus1.grid(row=x, column=2)
Bus1 = Label(window, text=BusArr2[x], font=("Arial Bold", 30), bg="black", fg="white")
Bus1.grid(row=x, column=3)
window.mainloop()
This is the json data, I have another program that is constantly running to update this data
[
{
"Bus Service": "127",
"1st Bus": "13:21:17",
"2st Bus": "13:34:30"
},
{
"Bus Service": "168",
"1st Bus": "13:16:50",
"2st Bus": "13:30:35"
},
{
"Bus Service": "27",
"1st Bus": "13:12:38",
"2st Bus": "13:21:00"
},
{
"Bus Service": "72",
"1st Bus": "13:13:24",
"2st Bus": "13:20:45"
},
{
"Bus Service": "",
"1st Bus": "",
"2st Bus": ""
}
]