[Python] Tkinter UI hanged when pulling data from API and displaying it on Canvas

Discussão em 'Python' iniciado por Stack, Fevereiro 7, 2025.

  1. Stack

    Stack Membro Participativo

    I wrote code which using API get ISS current position( latitude and longitude) which being displayed on Canvas. for that i used after function to repeat process after every 1 sec. however UI got hanged after certain time. please let me know how to solve issue. refer below code

    from tkinter import *
    import requests


    def position():

    data = requests.get(url="http://api.open-notify.org/iss-now.json")
    data.raise_for_status()
    data = data.json()
    lat = data["iss_position"]["latitude"]
    long = data["iss_position"]["longitude"]
    my_canvas.itemconfig(my_text, text=f"latitude = {lat}\nlongitude = {long}")
    window.after(1000, position)


    window = Tk()
    window.title("ISS Position")
    window.config(padx=50, pady=50)
    window.minsize(300, 300)
    my_canvas = Canvas(height=300, width=300, highlightthickness=0)
    my_canvas.grid(column=0, row=0, padx=10, columnspan=2)
    my_text = my_canvas.create_text(150, 150, text="ISS POSITION", font=("arial", 16, "bold"))

    my_button = Button(text="Enter", command=position, font=("arial", 16, "bold"))
    my_button.grid(column=0, row=1, columnspan=2)

    window.mainloop()


    want ISS position after every 1 second

    Continue reading...

Compartilhe esta Página