如何用Python创建COVID-19数据可视化GUI?


COVID-19疫情扰乱了全球的日常生活,许多国家实施了封锁和其他限制措施以控制病毒的传播。因此,人们对追踪病毒传播非常感兴趣,包括活跃病例和确诊病例的数量。借助科技,现在可以使用图形用户界面 (GUI) 实时访问并可视化这些数据。本教程将概述一个创建用于显示COVID-19数据的GUI的Python程序。

创建Tkinter GUI以显示COVID-19数据

此Python程序演示了如何使用tkinter库创建用于显示COVID-19数据的GUI。该程序从API获取数据,并使用关于活跃病例总数、确诊病例总数和最后更新时间的最新信息更新GUI。

以下代码使用Python中的tkinter库创建GUI。GUI包括两个标签和一个按钮。第一个标签显示活跃病例总数,第二个标签显示确诊病例总数。按钮允许用户刷新数据并显示更新的信息。

import requests
import json
from tkinter import *

window = Tk()

# Creating the GUI window
window.title("COVID-19 Tracker")

# Setting the size of the window
window.geometry('250x100')

# Adding labels to the window
lbl_active = Label(window, text="Total Active Cases:")
lbl_active.grid(column=0, row=0)

lbl_confirmed = Label(window, text="Total Confirmed Cases:")
lbl_confirmed.grid(column=0, row=1)

lbl_active_value = Label(window, text="")
lbl_active_value.grid(column=1, row=0)

lbl_confirmed_value = Label(window, text="")
lbl_confirmed_value.grid(column=1, row=1)

lbl_updated = Label(window, text="")
lbl_updated.grid(column=0, row=2, columnspan=2)

# Function to fetch and display the data
def update_data():
    url = "https://api.covid19india.org/data.json"
    response = requests.get(url)
    data = json.loads(response.text)
    lbl_active_value.configure(text=data["statewise"][0]["active"])
    lbl_confirmed_value.configure(text=data["statewise"][0]["confirmed"])
    lbl_updated.configure(text="Data last updated on " + data["statewise"][0]["lastupdatedtime"])

# Adding a button to fetch new data
btn_refresh = Button(window, text="Refresh Data", command=update_data)
btn_refresh.grid(column=0, row=3, columnspan=2)

# Calling the update_data function to display initial data
update_data()

window.mainloop()

解释

  • 第一步是导入必要的库——requests、json和tkinter。

  • 接下来,通过实例化Tk()类创建一个tkinter窗口。窗口标题设置为“COVID-19追踪器”,窗口几何形状设置为250x100像素。

  • 将标签添加到窗口以显示活跃病例总数和确诊病例总数。添加另外两个标签来显示这些病例的值。

  • 将一个空标签添加到窗口以显示数据的最后更新时间。

  • 定义update_data()函数,该函数从API获取数据,解析JSON数据,并更新显示活跃病例总数、确诊病例总数和最后更新时间的标签的值。

  • 将一个按钮添加到窗口,以便单击时触发update_data()函数。

  • 最后调用update_data()函数以显示初始数据。

  • 最后,调用mainloop()方法以显示GUI窗口并等待用户交互。

为了运行代码,您需要运行下面显示的命令。

命令

pip install requests
pip install tkinter

输出

运行程序时,将出现一个标题为“COVID-19追踪器”的GUI窗口,其中两个标签分别显示活跃病例总数和确诊病例总数。这些标签下方是显示数据更新时间的空白区域。

此空白区域下方有一个标记为“刷新数据”的按钮。单击此按钮将从API获取新数据,并更新两个标签的值和“最后更新”标签的文本。

结论

此程序对于想要跟踪其所在地区或全球COVID-19传播的人员很有用。通过修改代码,用户可以自定义GUI以显示其他信息或跟踪与疫情相关的其他数据点。

更新于:2023年8月3日

121 次浏览

启动您的职业生涯

完成课程后获得认证

开始
广告