首頁 > 軟體

Python寫了個疫情資訊快速檢視工具範例程式碼

2022-12-01 14:02:49

年關將至,大家對疫情的關注度也愈發提升,本次使用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

# -*- 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", "網易"))
        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", "美國中文網"))

四.總結

本次使用PyQt5開發了一款疫情資訊快速檢視工具,實現了多個資料來源的檢視,程式碼量不大,功能相當於瀏覽器,只是限定了一些特定網址。

到此這篇關於Python寫了個疫情資訊快速檢視工具的文章就介紹到這了,更多相關Python疫情資訊檢視內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com