Python实战案例,PyQt5模块,实现疫情信息快速查看工具(附源码)

news2025/1/10 18:54:16

前言

今天给大家介绍的是Python疫情信息快速查看工具,在这里给需要的小伙伴们代码,并且给出一点小心得。

PyQt概述

PyQt5是Qt框架的Python语言实现,由Riverbank Computing开发,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,每一个PyQt控件都对应一个Qt控件,因此PyQt的API接口与Qt的API接口很接近,但PyQt不再使用QMake系统和Q_OBJECT宏。

开发工具

Python版本: 3.8

相关模块:

PyQt5模块

csv模块

time模块

代码
ps: 代码图片仅供参考

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

代码实现

import sys
import base64
from PyQt5.Qt import *
from PyQt5.QtWidgets import *
from main_window import Ui_MainWindow
from PyQt5.QtWebEngineWidgets import QWebEngineView

class Covid19_viwer(QMainWindow):
    def __init__(self):
        super(Covid19_viwer, self).__init__()
        self.my_dict=eval(base64.decodebytes(b"""ezA6ICdodHRwczovL3ZvaWNlLmJhaWR1LmNvbS9hY3QvbmV3cG5ldW1vbmlhL25ld3BuZXVtb25p
YScsIDE6ICdodHRwczovL25ld3Muc2luYS5jbi96dF9kL3lpcWluZzAxMjEnLCAyOiAnaHR0cHM6
Ly93cC5tLjE2My5jb20vMTYzL3BhZ2UvbmV3cy92aXJ1c19yZXBvcnQvaW5kZXguaHRtbCcsIDM6
ICdodHRwczovL25ld3MucXEuY29tL3p0MjAyMC9wYWdlL2ZlaXlhbi5odG0jLycsIDQ6ICdodHRw
czovL3NhLnNvZ291LmNvbS9uZXctd2ViYWxsL3BhZ2Uvc2dzL2VwaWRlbWljJywgNTogJ2h0dHBz
Oi8vbmV3cy5pZmVuZy5jb20vYy9zcGVjaWFsLzd0UGxEU3pEZ1ZrJywgNjogJ2h0dHA6Ly93d3cu
dGNyai5jb20uY24veXF6dC9pbmRleC5jaHRtbCcsIDc6ICdodHRwOi8vc2hvdWppLjM2MC5jbi9m
eXlxZ2p4L2luZGV4Lmh0bWwnLCA4OiAnaHR0cHM6Ly9uY292LmR4eS5jbi9uY292aDUvdmlldy9w
bmV1bW9uaWEnLCA5OiAnaHR0cHM6Ly92aXAuamlhbnNoaWFwcC5jb20vcC9jb3ZpZDE5LW92ZXJz
ZWFzJywgMTA6ICdodHRwczovL2kuc25zc2RrLmNvbS91Z2MvaG90Ym9hcmRfZmUvaG90X2xpc3Qv
dGVtcGxhdGUvaG90X2xpc3QvZm9ydW1fdGFiLmh0bWwnLCAxMTogJ2h0dHA6Ly9tLnNpbm92aXNp
b24ubmV0L25ld3BuZXVtb25pYS5waHAnfQ=="""))
        self.ui=Ui_MainWindow()
        self.ui.setupUi(self)
        self.broswer=QWebEngineView()
        self.Layout = QHBoxLayout(self.ui.frame)
        self.Layout.setContentsMargins(0, 0, 0, 0)
        self.Layout.addWidget(self.broswer)
        self.broswer.load(QUrl(self.my_dict[0]))
        self.slot_init()

    def slot_init(self):
        self.ui.comboBox.currentIndexChanged[int].connect(self.change_engine)
        self.broswer.loadFinished.connect(self.change_state)
        self.broswer.loadProgress[int].connect(self.show_load_progress)

    @pyqtSlot(int)
    def change_engine(self,index):
        """
        改变引擎,触发
        :param index:
        :return:
        """
        self.ui.comboBox.setEnabled(False)
        self.broswer.load(QUrl(self.my_dict[index]))

    def change_state(self):
        """
        加载过程中,禁用comboBox
        :return:
        """
        self.ui.comboBox.setEnabled(True)

    def show_load_progress(self,p):
        """
        显示浏览器加载进度
        :param p:
        :return:
        """
        self.ui.statusBar.showMessage(str(p)+"%")
        if p==100:
            self.ui.statusBar.showMessage("完成",3000)

    def closeEvent(self,event):
        ret=QMessageBox.question(self,"退出","确定要退出吗?",QMessageBox.Yes|QMessageBox.No,QMessageBox.Yes)
        if ret==QMessageBox.Yes:
            event.accept()
        else:
            event.ignore()

if __name__ == '__main__':
    app=QApplication(sys.argv)
    ui=Covid19_viwer()
    ui.show()
    sys.exit(app.exec_())

解决 No module named ‘PyQt5.QtWebEngineWidgets’

指定pyqt5的版本,pip install pyqt5==5.10.1 指定版本为5.10.1,在这个版本是支持内置QtWebEngineWidgets的,可以直接使用

具体安装命令:

1.sip的安装,在命令行窗口输入:

pip install sip==4.19.17 -i https://pypi.douban.com/simple

2.PyQt5的安装,在命令行窗口输入:

pip install PyQt5==5.10.1 -i https://pypi.douban.com/simple

3.QScintilla的安装,在命令行窗口输入:

pip install QScintilla==2.10.2 -i https://pypi.douban.com/simple

4.pyqt5-tools的安装,在命令行窗口输入:

pip install pyqt5-tools==5.10.1.1.3 -i https://pypi.douban.com/simple

结果展示

运行后界面默认是百度的引擎
百度

下面展示切换360引擎界面结果

360

最后

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

里面有适合小白新手的Python实战教程给到大家~

快来和小鱼一起成长进步吧!

① 100+多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 爬虫项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/75400.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

springcloud3 EurekaClient单机搭建2

一 EurekaClient-provider提供者搭建 工程架构 1.1 搭建步骤 1.1.1 复制模块 复制mscloud-provider模块变成 mscloud-provider8004 1.1.2.修改pom 新增eureka-client的依赖 完整代码 <dependency><groupId>junit</groupId><artifactId>junit</…

Pluggy源码解读----pluggy源码解读基础准备

【原文链接】Pluggy源码解读----pluggy源码解读基础准备 解读pluggy源码&#xff0c;直接使用pytest环境中安装的pluggy即可&#xff0c;比如这里安装的pluggy版本是1.0.0&#xff0c;为了更好的理解源码&#xff0c;这里首先使用如下应用代码作为应用实例&#xff0c;从如下代…

ASEMI电磁炉整流桥KBJ2510参数和性能

编辑-Z ASEMI电磁炉整流桥KBJ2510参数和性能怎么样呢&#xff1f;ASEMI采用波峰的GPP大芯片&#xff0c;工艺制造&#xff0c;稳定性高&#xff0c;抗冲击性强。KBJ2510具体参数为&#xff1a;正电流&#xff1a;25A&#xff0c;反向耐压&#xff1a;1000V&#xff0c;反向电流…

openai注册流程

前置条件 1、注册登陆的时候需要使用梯子&#xff0c;梯子使用美国的&#xff0c;其他地区的梯子不一定正常使用 2、海外短信验证码 3、整个流程使用梯子 4、登陆后可以不用梯子-正常使用 openai网址 https://chat.openai.com https://openai.com https://beta.openai.…

四面阿里斩获offer定级为P7+ 2022年最新阿里巴巴70道高级面试题

前言 **四面阿里的面经总结&#xff1a;**我觉得有一个能够找一份大厂的 offer的想法&#xff0c;这是很正常的&#xff0c;这并不是我们的饭后谈资而是每个技术人的追求。像阿里、腾讯、美团、字节跳动、京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司 / 小公司…

鸿翼档案信创管理系统——为您的数字资产加上“安全锁”

为了应对日益复杂的国际形势&#xff0c;确保关键技术自主可控、保障关键技术自主可控、保障网络信息安全&#xff0c;我国再近几年提出了信息技术应用创新战略&#xff08;简称“信创”&#xff09;。 通俗来讲&#xff0c;信创就是在核心芯片、基础硬件、操作系统、中间件、…

K_A08_012 基于 STM32等单片机驱动 DRV8833 模块按键控制直流电机正反转

目录 一、资源说明 二、基本参数 参数 引脚说明 三、驱动说明 驱动时序 对应程序: 四、部分代码说明 接线说明 STC89C52RCDRV8833模块 STM32F103C8T6DRV8833模块 五、基础知识学习与相关资料下载 六、视频效果展示与程序资料获取 七、项目所有材料清单 八、注意事项 九…

《自己动手写CPU》学习记录(4)——第4章/Part 2

目录 引言 致谢 拥有Linux开发环境 1、Linux虚拟机安装 2、共享文件夹 GNU工具链安装 Makefile RAM.ld Bin2Mem.exe 注意 路径 测试 引言 上篇文章实现了 ori 指令&#xff0c;并且搭建验证平台&#xff0c;验证了功能的正确性。但是有一个问题就是&#xff0c;当…

寻找网络1020的结构平衡点

( A, B )---2*n*2---( 1, 0 )( 0, 1 ) 用网络分类A和B&#xff0c;让A是&#xff08;0&#xff0c;1&#xff09;&#xff08;0&#xff0c;0&#xff09;&#xff0c;让B是&#xff08;1&#xff0c;0&#xff09;&#xff08;0&#xff0c;0&#xff09;。记为网络1020.AB的…

湖南中医药大学宿舍无线网络一体化项目

第二次上大王老师的课&#xff0c;上学期的微机这学期的计网&#xff0c;这学期一开学就是一个大项目&#xff0c;对于零基础&#xff0c;零经验的我们来说&#xff0c;老师布置给我们一项比较重大的任务就是——从零开始为我们学校宿舍部署无线网络。刚开始觉得这肯定完不成&a…

CRM客户管理系统能为小微型企业带来哪些优势?

回款&销售排名看板CRM&#xff08;顾客关系管理工作控制系统&#xff09;在亚洲地区发展了三十余年&#xff0c;让众多民营企业管理工作形式成功的从实体店转至线上&#xff0c;因此协助民营企业展开管理工作上的高效率提高&#xff0c;CRM控制系统做为两个能协助各类民营企…

python学习中的各种迷一样的问题之一

神秘一 Argument name should be lowercase oneX这个变量名可以改成one_x 神秘二 无缘无故被in 到def里的main() 原因是400行少了个" ) " 神秘三一个文件位置引发的血案 无法执行使用所选元素重构,别用捷克键盘来唬人了 test_03_2022-1202_to_2022-1209.py在…

你不知道13个嵌入式C语言优化技巧

【推荐阅读】 关于如何快速学好&#xff0c;学懂Linux内核。内含学习路线 深入linux内核架构--内存管理 了解ixgbe网卡驱动— 驱动注册&#xff08;纯代码分享&#xff09; 手把手教你如何编写一个Makefile文件 需要多久才能看完linux内核源码&#xff1f; 嵌入式系统受其使用的…

H02-RCNN和SPPNet

目录 1.目标检测-Overfeat模型 1.1 滑动窗口 1.2 Overfeat模型总结 2.目标检测-RCNN模型 2.1 完整的R-CNN结构 2.1.1 候选区域(Region of lnterest)得出(了解) 2.1.2 CNN网络提取特征 2.1.3 特征向量训练分类器SVM 2.1.4 非最大抑制&#xff08;NMS&#xff09; 2.1.…

Mybatis-plus 源码执行全流程解析

Mybatis-plus 源码执行全流程解析 废话 少数流程开始&#xff1a; 1、业务入口&#xff1a;userMapper.insertBatch(entityList); 执行到代理类&#xff1a; $Proxy222 (com.sun.proxy) 开始走代理流程&#xff0c;然后到了代理类&#xff1a; idea 执行流程取出栈信息&…

Mybatis增删改查

Mybatis增删改查 1&#xff0c;配置文件实现CRUD 1.1 环境准备 数据库表&#xff08;tb_brand&#xff09;及数据准备 -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand (-- id 主键id int primary key auto_increment,…

string的认识和使用

目录 一、网站上查看string类 1.网站 2.网站上的string类 二、string类的成员函数 1.默认成员函数 &#xff08;1&#xff09;构造函数、拷贝构造函数和析构函数 &#xff08;2&#xff09;赋值运算符重载 &#xff08;3&#xff09;容量操作 &#xff08;4&#xff09…

JavaWeb用户信息查看的登录、增删改查案例

黑马JavaWeb案例整理记录 文章目录案例源码&#xff1a;一、需求二、设计1、技术选型2、数据库设计三、开发步骤四、详细过程1、创建web项目&#xff0c;部署tomcat&#xff0c;导入jar包2、编写首页index.jsp3、编写servlet、servie、daomain、dao五、案例升级实现1、实现内容…

成长任务|花式show爱心代码

❤️立即投稿❤️ &#x1f4cc;活动规则 最近#李峋同款爱心代码#词条上了热搜&#xff0c;作为程序员的你&#xff0c;可不能错过这个给意中人大展身手的时机 ❤️ 使用代码画一颗#爱心#&#xff0c;将你的代码文件通过本页面投稿&#xff0c;审核通过即可参与活动 ❤️ 可使…

速锐得猎奇与猜想:数字化工业互联网能否真的走进未来

前年的8月份&#xff0c;我们独立设计一款燃气报警器&#xff0c;包括设计产品图纸&#xff0c;嵌入式软件、LED显示、核心代码、CAN网络及485架构、云端SAAS框图&#xff0c;应用场景等&#xff0c;在去年的5月份直接进入到了量产&#xff0c;第一批数量是2000套&#xff0c;升…