使用 Tkinter 在 Python 中制作 COVID-19 数据表示应用

17 Mar 2025 | 6 分钟阅读

全球目前正经历着新型冠状病毒 COVID-19 大流行,这不仅仅是一场大流行病,更是一个严重的全球健康问题。2019 冠状病毒病 (COVID-19) 是一种由严重急性呼吸系统综合征冠状病毒 2 (SARS-CoV-2) 引起的传染病。2019 年冠状病毒大流行是由这种疾病引起的,该疾病最早于 2019 年在中国武汉被发现。自那时以来,它已蔓延至全世界。发烧、咳嗽和呼吸短促是常见症状。不太常见的症状包括喉咙痛、咳痰和肌肉疼痛。因此,我们必须及时了解确诊病例总数、已康复的确诊病例数、现有病例数以及因冠状病毒死亡的人数。我们可以通过网站和新闻频道获取最新信息。一些国家还使用移动应用程序获取更新。这些都得益于信息技术。

Python 提供了“COVID”包,可以获取全球和各国的 COVID 数据。因此,我们将利用 Python 库来收集关于冠状病毒在国家和全球范围内的分布数据。

本文更侧重于使用 Python 和 Tkinter 构建有效的 Web 应用程序,而不是 COVID-19 本身。它被设计为一个快速入门指南,让您可以轻松地独立使用该技术。

您可以使用 Python 和一些图形包来显示特定日期一个国家(本文以印度为例)的总死亡人数以及 COVID-19 的确诊病例总数。本文将有助于对数据进行解释和处理,而这些有时需要人类的帮助。

在本教程中,我们将介绍如何使用 Tkinter Python 开发 COVID-19 数据表示应用程序 GUI,以及如何编码“COVID”相关数据以获得图形化可视化的更新。

我们需要导入几个库才能创建此界面;下面列出了我们将需要的库。

json 库: 用于获取 COVID-19 数据。

Tkinter 库: 用于 GUI 开发。

  1. json 库: Python 提供了“json”包,可以通知我们全球和国家层面的所有 COVID 相关数据。因此,通过利用此库,我们可以更多地了解已确诊和正在发生的病例数。
  2. Tkinter 库: Python 程序中用于图形用户界面 (GUI) 的流行库之一。图形用户界面 (GUI) 仅仅是一个促进人机交互的桌面应用程序。在台式电脑、笔记本电脑和其他电子设备中,它们执行各种功能。Tkinter 经常使用各种 Tkinter 部件、函数和特性来帮助开发人员构建精美的 GUI 应用程序。在 HTML 中,部件类似于 HTML 组件。不同类型的部件对应于 Tkinter 中不同类型的元素。其中,最常用的是

Canvas (画布): 可以使用 Canvas 在 GUI 上绘制形状。

Button (按钮) 部件: Tkinter 中的按钮通过 Button 部件放置。

Checkbutton (复选框): 使用 checkbutton 工具为应用程序创建复选框。您应该知道,您可以一次选择多个选项。

Entry (输入框): 要在 GUI 中构建输入字段,请使用 Entry 部件。

Frame (框架): 在 Tkinter 中,框架用作容器。

Label (标签): 它们用于构建单行部件,如文本、图像和其他元素。

Menu (菜单): 在 GUI 中,菜单是通过 menu 命令创建的。

代码详解

为了创建我们脚本所需的 GUI,我们首先使用 Tkinter 库。

为了从非官方 API 获取数据,我们正在使用 requests 库。

然后显示我们想要的信息,包括总活跃病例数和确诊病例数。

那么,我们开始吧

我们首先导入了 tkinter 模块,同时还导入了 json 模块和 requests 模块,它们将提供表示所需的数据。

然后,我们创建了 tkinter 模块的一个实例。接下来,创建了一个新窗口。使用 title() 方法为其赋予了标题,并使用 geometry() 方法指定了窗口的尺寸。

接下来,我们使用 label 方法创建了一个新标签,用于填充将在我们的窗口上显示的文本。Labl 用于存储第一个标签的值,即活跃病例数,labl1 用于存储第二个标签的值,即确诊病例数。labl2 用于在数据刷新后显示一条注释。并且,使用 grid() 方法,所有这些标签都通过 指定了它们的位置。

然后我们创建了一个名为 clicks() 的新函数,调用该函数时将在那一刻提供更新后的数据。在此函数中,我们还使用 link 变量来提供将需要从中获取数据的外部资源的链接。pg 变量用于存储通过使用前面提到的链接的 get() 方法获取的数据。此外,还创建了一个名为 dt 的变量,用于存储从 json 库使用 loads() 方法获取的文本格式数据。然后,使用 configure 方法,我们提供了在 clicks() 函数中调用时标签 labl、labl1labl2 应该显示的文本。

然后,最后,我们使用 button 方法创建了 refresh 按钮,点击该按钮将刷新数据并提供更新后的数据。

最终,当程序准备启动时,会调用 mainloop() 函数。mainloop() 是一个无限循环,用于启动程序、监听事件并在窗口打开时处理它们。

完整代码

输出

上述代码显示的输出截图如下。

COVID-19 Data Representation app using Tkinter in Python

结论

通过本文,我们了解了如何使用 Python Tkinter 开发 COVID-19 数据表示应用程序。这个应用程序不仅有助于跟踪活跃病例数和确诊病例总数的最新计数,还展示了 Python 如何有助于收集和整理特定类型的数据以帮助人类。