Qt for Python (PySide2) は、Qt の Python バインディングを提供するプロジェクトで、オープンソース版の Qt と同じく、LGPLv3 / GPLv3 と Qt commercial license(商用ライセンス)が適用されています。最近はクロスプラットフォーム用の GUI ライブラリとして使うことが多くなりました。
QWebEngineView は Chromium をベースにした、ウェブブラウザのエンジンのクラスです [1]。このクラスを使って自分だけのウェブブラウザを作るっていうのもアリですが、アプリケーションのヘルプ文書などを表示することに応用できそうです。
本ブログ記事では下記の OS 環境で動作確認をしています。
Fedora 34 (Workstation Edition Prerelease) | x86_64 | |
- python3-3.9.2-1 | ||
- python3-pyside2-5.15.2-3 |
参考サイト [3] ではインターネットブラウザのような機能を実装する例を紹介していますが、ここではそのうちほんの一部、サイトを表示するだけの部分を PyQt5 から PySide2 に直して紹介します。
qt_webengineview.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python | |
# coding: utf-8 | |
# Reference | |
# https://www.learnpyqt.com/tutorials/example-browser/ | |
import sys | |
from PySide2.QtCore import QUrl | |
from PySide2.QtWebEngineWidgets import QWebEngineView | |
from PySide2.QtWidgets import ( | |
QApplication, | |
QMainWindow, | |
) | |
class Example(QMainWindow): | |
url = 'http://www.google.com' | |
def __init__(self): | |
super().__init__() | |
self.initUI() | |
self.show() | |
def initUI(self): | |
browser = QWebEngineView() | |
browser.setUrl(QUrl(self.url)) | |
self.setCentralWidget(browser) | |
def main(): | |
app = QApplication(sys.argv) | |
ex = Example() | |
sys.exit(app.exec_()) | |
if __name__ == '__main__': | |
main() |
qt_webengineview.py の実行例
参考サイト
- Qt WebEngine Overview | Qt WebEngine 5.15.3
- QWebEngineView — Qt for Python
- Create your own web browser in Python with Qt — Hands-on guide to Python GUI programming with Qt

にほんブログ村
0 件のコメント:
コメントを投稿