用Python写一个疫情查看工具
- 序言
- 你需要准备
- PyQt5
- PyQtWebEngine
- 预览
- 启动
- 引擎切换
- 主要代码
- 最后
序言
自从过完了国庆,疫情就突然遍地开花了,而且现在又快过年了,大家对疫情的关注度愈发提升,所以我用Python写了一个疫情信息快速查看的工具,代码不多,才一百多行。
你需要准备
PyQt5
PyQt 是一个用于创建GUI应用程序的跨平台的工具包,它将Python编程语言和Qt库 成功融合在一起。QT库目前是最强大的GUI库之一。PyQt可以运行在所有主流操作系统上,包括UNIX,Windows和Mac OS。
直接win+r打开运行框输入cmd,点击确定后弹出命令提示符窗口,输入以下代码即可安装。
pip install PyQt5
PyQtWebEngine
Qt WebEngine模块提供了一个web浏览器, 在不使用本地浏览器的情况下, 它可以很容易地把Web内容嵌入到Qt应用程序中。Qt WebEngine为渲染HTML, XHTML和SVG文档, 使用CSS和JavaScript, 提供了C++类和QML类型。
安装方法同上
pip install PyQtWebEngine
Qt WebEngine Widgets 模块
预览
启动
启动以后主窗口会自动加载最新的疫情信息,默认是百度的引擎。
引擎切换
通过在分组框选择引擎,实现对引擎的切换。
主要代码
from PyQt5 import QtCore, QtGui, QtWidgets class Ui_MainWindow(object): def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(800, 600) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.centralwidget) self.verticalLayout_3.setObjectName("verticalLayout_3") self.verticalLayout_2 = QtWidgets.QVBoxLayout() self.verticalLayout_2.setObjectName("verticalLayout_2") self.horizontalLayout = QtWidgets.QHBoxLayout() self.horizontalLayout.setContentsMargins(-1, 10, -1, 10) self.horizontalLayout.setObjectName("horizontalLayout") spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem) self.label = QtWidgets.QLabel(self.centralwidget) self.label.setObjectName("label") self.horizontalLayout.addWidget(self.label) self.comboBox = QtWidgets.QComboBox(self.centralwidget) self.comboBox.setEnabled(False) self.comboBox.setObjectName("comboBox") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.comboBox.addItem("") self.horizontalLayout.addWidget(self.comboBox) spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum) self.horizontalLayout.addItem(spacerItem1) self.verticalLayout_2.addLayout(self.horizontalLayout) self.horizontalLayout_2 = QtWidgets.QHBoxLayout() self.horizontalLayout_2.setObjectName("horizontalLayout_2") self.frame = QtWidgets.QFrame(self.centralwidget) self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel) self.frame.setFrameShadow(QtWidgets.QFrame.Raised) self.frame.setObjectName("frame") self.horizontalLayout_2.addWidget(self.frame) self.verticalLayout_2.addLayout(self.horizontalLayout_2) self.verticalLayout_2.setStretch(0, 1) self.verticalLayout_2.setStretch(1, 20) self.verticalLayout_3.addLayout(self.verticalLayout_2) MainWindow.setCentralWidget(self.centralwidget) self.menubar = QtWidgets.QMenuBar(MainWindow) self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 26)) self.menubar.setObjectName("menubar") MainWindow.setMenuBar(self.menubar) self.statusBar = QtWidgets.QStatusBar(MainWindow) self.statusBar.setObjectName("statusBar") MainWindow.setStatusBar(self.statusBar) self.retranslateUi(MainWindow) QtCore.QMetaObject.connectSlotsByName(MainWindow) def retranslateUi(self, MainWindow): _translate = QtCore.QCoreApplication.translate MainWindow.setWindowTitle(_translate("MainWindow", "疫情情况快速查询")) self.label.setText(_translate("MainWindow", "引擎选择:")) self.comboBox.setItemText(0, _translate("MainWindow", "百度")) self.comboBox.setItemText(1, _translate("MainWindow", "新浪")) self.comboBox.setItemText(2, _translate("MainWindow", "网易")) self.comboBox.setItemText(3, _translate("MainWindow", "腾讯")) self.comboBox.setItemText(4, _translate("MainWindow", "搜狗")) self.comboBox.setItemText(5, _translate("MainWindow", "凤凰")) self.comboBox.setItemText(6, _translate("MainWindow", "猕尔")) self.comboBox.setItemText(7, _translate("MainWindow", "360")) self.comboBox.setItemText(8, _translate("MainWindow", "丁香园")) self.comboBox.setItemText(9, _translate("MainWindow", "华尔街")) self.comboBox.setItemText(10, _translate("MainWindow", "今日头条")) self.comboBox.setItemText(11, _translate("MainWindow", "美国中文网"))
兄弟们学习python,有时候不知道怎么学,从哪里开始学。掌握了基本的一些语法或者做了两个案例后,不知道下一步怎么走,不知道如何去学习更加高深的知识。
那么对于这些大兄弟们,我准备了大量的免费视频教程,PDF电子书籍,以及本文完整源代码,直接在文末名片自取即可~
最后
本次使用PyQt5开发了一款疫情信息快速查看工具,实现了多个数据源的查看,代码量不大,功能相当于浏览器,只是限定了一些特定网址。
今天的分享就到这里结束了,如果有啥不一样的见解,欢迎在评论区交流~