Python実戦事例、PyQt5モジュール、流行情報速読ツール(ソースコード付)

序文

今日ご紹介するのはPythonの疫病情報速報ツールで、コードを必要な友達に渡し、コツを教えます。

PyQt の概要

PyQt5 は、Riverbank Computing によって開発された Qt フレームワークの Python 言語実装であり、最も強力な GUI ライブラリの 1 つです。PyQt は適切に設計されたウィンドウ コントロールのコレクションを提供し、各 PyQt コントロールは Qt コントロールに対応するため、PyQt の API インターフェイスは Qt の API インターフェイスに非常に似ていますが、PyQt は QMake システムと Q_OBJECT マクロを使用しなくなりました。

開発ツール

Python バージョン: 3.8

関連モジュール:

PyQt5 モジュール

csv モジュール

時間モジュール

コード
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_())

「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

結果表示

実行後、インターフェイスはデフォルトで Baidu のエンジンになります
バイドゥ

以下は、360 エンジン インターフェイスを切り替えた結果です。

360

やっと

読者に感謝するために、最近のお気に入りのプログラミング ドライ グッズをいくつか紹介し、すべての読者にお返しし、お役に立てれば幸いです。

初心者向けの実践的なPythonチュートリアルありますよ〜

Xiaoyuと一緒に成長してください!

① 100冊以上のPythonの電子書籍(主流と古典の本が利用できるはずです)

② Python 標準ライブラリ情報 (最も完全な中国語版)

③ 爬虫類プロジェクトのソース コード (40 または 50 の興味深い古典的な手の練習プロジェクトとソース コード)

④Python、クローラー、Web開発、ビッグデータ解析の基礎動画(初心者向け)

⑤Python学習ロードマップ(さらば影響力のある学習)

おすすめ

転載: blog.csdn.net/Modeler_xiaoyu/article/details/128252622