Python 制作疫情信息查看工具

网站建设4年前发布
16 0 0

在前面的分享中,我们制作了一个天眼查 GUI 程序,一个微博抓取 GUI 程序,今天我们在这个的基础上,继续开发新的功能,疫情信息快速查看工具,先来看下最终的效果。,202303061545372505401304da4eb0a8c9135b5cd199dd0c1282489,整体的界面和框架还是继承自前面分享的工具,我们直接来看相关功能。,首先我们先搜集一些展示疫情相关信息的网站,比如上图所示的百度疫情实时大数据报告,当然还有新浪,腾讯,丁香医生以及美国中文网等等,大家也可以自行搜集相关网站,添加到程序当中即可。,上面定义了疫情数据网站的 map,同时定义了一个 combobox 组件的下拉文字列表。,我们先定义疫情的 Widget 数据。,页面布局也比较简单,有展示文字的 label,还有切换疫情网址的下拉框,以及展示网站加载进度的进度条组件,当然也少不了渲染网页的 QWebEngineView 组件。,对于下拉框切换疫情网站,实现的逻辑是每次切换,都会自动请求该网站数据,并渲染到 QWebEngineView 组件中,而这个逻辑都通过函数 slot_init 来实现。,下面我们看看 slot_init 的具体实现。,我们先来看看函数 slot_init 的代码,该函数实现了三个功能,下面我们逐一查看各个功能。,这里用到了槽函数,将组件 comboBox 的索引传递给函数 change_engine,然后在该函数中重新 load 网站 URL,并且设置 comboBox 不可用。,下拉框是否可以使用,可以通过属性 setEnabled 进行设置,当网站渲染完毕后,通过调用函数 change_state 来切换下拉框状态。,而网站是否渲染完毕,是通过属性 loadFinished 来判断的。,这个功能稍微复杂一些,需要用到多线程,我们在前面微博抓取程序中也使用到了。,本程序的差异就在于需要通过属性 loadProgress 来获取网站加载进度,其余部分基本与微博抓取文章代码相同。,疫情子进程代码:,因为需要传递属性 loadProgress 的数值,所以定义了初始化函数来接受,并通过槽参数 update_yiqing_data 来进行传递。,至此,我们这个疫情数据查询功能就完成了~。

© 版权声明

相关文章