• Python写了个疫情信息快速查看工具


    年关将至,大家对疫情的关注度也愈发提升,本次使用PyQt5撰写100行代码写一个疫情信息快速查看工具。

    一.准备工作

    1.PyQt5

    PyQt 是一个用于创建GUI应用程序的跨平台的工具包,它将Python编程语言和Qt库 成功融合在一起。QT库目前是最强大的GUI库之一。PyQt可以运行在所有主流操作系统上,包括UNIX,Windows和Mac OS。

    直接使用下面的命令安装即可:pip install PyQt5

    2.PyQtWebEngine

    Qt WebEngine模块提供了一个web浏览器, 在不使用本地浏览器的情况下, 它可以很容易地把Web内容嵌入到Qt应用程序中。Qt WebEngine为渲染HTML, XHTML和SVG文档, 使用CSS和JavaScript, 提供了C++类和QML类型。

    直接使用下面的命令安装即可:pip install PyQtWebEngine

    Qt WebEngine Widgets 模块:

    二.预览

    1.启动

    启动以后主窗口会自动加载最新的疫情信息,默认是百度的引擎。

    2.引擎切换

    通过在分组框选择引擎,实现对引擎的切换。

    三.主要代码

    main_window.py

    1. # -*- coding: utf-8 -*-
    2. from PyQt5 import QtCore, QtGui, QtWidgets
    3. class Ui_MainWindow(object):
    4.     def setupUi(self, MainWindow):
    5.         MainWindow.setObjectName("MainWindow")
    6.         MainWindow.resize(800600)
    7.         self.centralwidget = QtWidgets.QWidget(MainWindow)
    8.         self.centralwidget.setObjectName("centralwidget")
    9.         self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.centralwidget)
    10.         self.verticalLayout_3.setObjectName("verticalLayout_3")
    11.         self.verticalLayout_2 = QtWidgets.QVBoxLayout()
    12.         self.verticalLayout_2.setObjectName("verticalLayout_2")
    13.         self.horizontalLayout = QtWidgets.QHBoxLayout()
    14.         self.horizontalLayout.setContentsMargins(-110, -110)
    15.         self.horizontalLayout.setObjectName("horizontalLayout")
    16.         spacerItem = QtWidgets.QSpacerItem(4020, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    17.         self.horizontalLayout.addItem(spacerItem)
    18.         self.label = QtWidgets.QLabel(self.centralwidget)
    19.         self.label.setObjectName("label")
    20.         self.horizontalLayout.addWidget(self.label)
    21.         self.comboBox = QtWidgets.QComboBox(self.centralwidget)
    22.         self.comboBox.setEnabled(False)
    23.         self.comboBox.setObjectName("comboBox")
    24.         self.comboBox.addItem("")
    25.         self.comboBox.addItem("")
    26.         self.comboBox.addItem("")
    27.         self.comboBox.addItem("")
    28.         self.comboBox.addItem("")
    29.         self.comboBox.addItem("")
    30.         self.comboBox.addItem("")
    31.         self.comboBox.addItem("")
    32.         self.comboBox.addItem("")
    33.         self.comboBox.addItem("")
    34.         self.comboBox.addItem("")
    35.         self.comboBox.addItem("")
    36.         self.horizontalLayout.addWidget(self.comboBox)
    37.         spacerItem1 = QtWidgets.QSpacerItem(4020, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
    38.         self.horizontalLayout.addItem(spacerItem1)
    39.         self.verticalLayout_2.addLayout(self.horizontalLayout)
    40.         self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
    41.         self.horizontalLayout_2.setObjectName("horizontalLayout_2")
    42.         self.frame = QtWidgets.QFrame(self.centralwidget)
    43.         self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
    44.         self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
    45.         self.frame.setObjectName("frame")
    46.         self.horizontalLayout_2.addWidget(self.frame)
    47.         self.verticalLayout_2.addLayout(self.horizontalLayout_2)
    48.         self.verticalLayout_2.setStretch(01)
    49.         self.verticalLayout_2.setStretch(120)
    50.         self.verticalLayout_3.addLayout(self.verticalLayout_2)
    51.         MainWindow.setCentralWidget(self.centralwidget)
    52.         self.menubar = QtWidgets.QMenuBar(MainWindow)
    53.         self.menubar.setGeometry(QtCore.QRect(0080026))
    54.         self.menubar.setObjectName("menubar")
    55.         MainWindow.setMenuBar(self.menubar)
    56.         self.statusBar = QtWidgets.QStatusBar(MainWindow)
    57.         self.statusBar.setObjectName("statusBar")
    58.         MainWindow.setStatusBar(self.statusBar)
    59.         self.retranslateUi(MainWindow)
    60.         QtCore.QMetaObject.connectSlotsByName(MainWindow)
    61.     def retranslateUi(self, MainWindow):
    62.         _translate = QtCore.QCoreApplication.translate
    63.         MainWindow.setWindowTitle(_translate("MainWindow""疫情情况快速查询"))
    64.         self.label.setText(_translate("MainWindow""引擎选择:"))
    65.         self.comboBox.setItemText(0_translate("MainWindow""百度"))
    66.         self.comboBox.setItemText(1_translate("MainWindow""新浪"))
    67.         self.comboBox.setItemText(2_translate("MainWindow""网易"))
    68.         self.comboBox.setItemText(3_translate("MainWindow""腾讯"))
    69.         self.comboBox.setItemText(4_translate("MainWindow""搜狗"))
    70.         self.comboBox.setItemText(5_translate("MainWindow""凤凰"))
    71.         self.comboBox.setItemText(6_translate("MainWindow""猕尔"))
    72.         self.comboBox.setItemText(7_translate("MainWindow""360"))
    73.         self.comboBox.setItemText(8_translate("MainWindow""丁香园"))
    74.         self.comboBox.setItemText(9_translate("MainWindow""华尔街"))
    75.         self.comboBox.setItemText(10_translate("MainWindow""今日头条"))
    76.         self.comboBox.setItemText(11_translate("MainWindow""美国中文网"))

    四.总结

    本次使用PyQt5开发了一款疫情信息快速查看工具,实现了多个数据源的查看,代码量不大,功能相当于浏览器,只是限定了一些特定网址。

  • 相关阅读:
    结构优于制度,软件开发中的康威定律
    【flask】根据接口名称和请求参数进行缓存
    数据仓库的主流分层架构
    Android | 通过URL获取网络图片Bitmap格式
    目标检测YOLO实战应用案例100讲-雾天场景下低能见度图像 目标检测(下)
    ssm+springmvc基于springboot的宠物领养系统的设计与实现_j5fk4
    MySQL的JDBC 编程
    大学毕业一年 - 北漂生活
    python/C++二分查找库函数(lower_bound() 、upper_bound,bisect_left,bisect_right)
    基于量子粒子群算法(QPSO)优化LSTM的风电、负荷等时间序列预测算法(Matlab代码实现)
  • 原文地址:https://blog.csdn.net/weixin_56659172/article/details/128075943