Web browsing en PyQt Web browsing
1. Introduction
Il peut être très utile dans le développement d’applications de pouvoir naviguer dans des pages web, construites en HTML, CSS et JavaScript. On peut ainsi imaginer avoir la documentation fournie avec le logiciel browsée en local. On peut également imaginer que la documentation distante soit lue au sein du logiciel.
On peut être amené à installer le module PyQtWebEngine par exemple de cette façon :
> pip install PyQtWebEngine
On peut alors utiliser la classe QWebEngineView qui implémente le protocole HTTP, ce qui permet par exemple de coder très facilement un navigateur web. C’est le développement que nous allons réaliser ici.
La documentation en ligne de cette classe se trouve à l’adresse suivante : https://doc.qt.io/qt-5/qwebengineview.html
2. Développement d’un navigateur web
Nous allons essentiellement utiliser une instance de la classe QWebEngineView qui embarque nativement tout ce qu’il faut pour d’une part implémenter le protocole HTTP et, d’autre part, ce qui est nécessaire pour interpréter correctement du HTML/CSS conforme au standard W3C.
Comme d’habitude, on déclare nos imports, notamment des classes issues de QWebEngineView.
from PyQt5.QtWebEngineWidgets import QWebEnginePage, QWebEngineView
from PyQt5.QtCore import QUrl
from PyQt5.QtGui import QIcon
from PyQt5.QtWidgets import QApplication, QLineEdit, QMainWindow...