Python寫了個疫情信息快速查看工具(附源碼)
年關(guān)將至,大家對疫情的關(guān)注度也愈發(fā)提升,本次使用PyQt5撰寫100行代碼寫一個疫情信息快速查看工具。
一.準(zhǔn)備工作
1.PyQt5
PyQt 是一個用于創(chuàng)建GUI應(yīng)用程序的跨平臺的工具包,它將Python編程語言和Qt庫 成功融合在一起。QT庫目前是最強(qiáng)大的GUI庫之一。PyQt可以運(yùn)行在所有主流操作系統(tǒng)上,包括UNIX,Windows和Mac OS。
直接使用下面的命令安裝即可:pip install PyQt5。
2.PyQtWebEngine
Qt WebEngine模塊提供了一個web瀏覽器, 在不使用本地瀏覽器的情況下, 它可以很容易地把Web內(nèi)容嵌入到Qt應(yīng)用程序中。Qt WebEngine為渲染HTML, XHTML和SVG文檔, 使用CSS和JavaScript, 提供了C++類和QML類型。
直接使用下面的命令安裝即可:pip install PyQtWebEngine。
Qt WebEngine Widgets 模塊:

二.預(yù)覽
1.啟動

啟動以后主窗口會自動加載最新的疫情信息,默認(rèn)是百度的引擎。
2.引擎切換

通過在分組框選擇引擎,實(shí)現(xiàn)對引擎的切換。
三.主要代碼
main_window.py
# -*- coding: utf-8 -*-
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", "網(wǎng)易"))
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", "美國中文網(wǎng)"))
四.總結(jié)
本次使用PyQt5開發(fā)了一款疫情信息快速查看工具,實(shí)現(xiàn)了多個數(shù)據(jù)源的查看,代碼量不大,功能相當(dāng)于瀏覽器,只是限定了一些特定網(wǎng)址。
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。本文鏈接:https://blog.csdn.net/a1397852386/article/details/122381999
源碼及工具已經(jīng)打包整理好了,在??公眾號Python小二后臺回復(fù)yqtool領(lǐng)取~
