From a77c342e699f4b8ddd8e48236274f006441167a7 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Fri, 6 Oct 2023 16:21:23 +0200 Subject: [PATCH] doc: Fix window display for version PyQt5 > 5.5 --- requirements.txt | 3 ++- src/View/Doc/Window.py | 26 ++++++++++++++------------ src/View/ui/WebView.ui | 15 +-------------- 3 files changed, 17 insertions(+), 27 deletions(-) diff --git a/requirements.txt b/requirements.txt index 729dbbe4..01d9a29a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,7 @@ PyQt5==5.15.4 PyQt5-Qt5==5.15.2 -PyQt5-sip==12.8.1 +PyQt5-sip==12.12.2 +PyQtWebEngine==5.15.6 pyqtgraph>=0.12.1 matplotlib>=3.4.1 numpy>=1.24.2 diff --git a/src/View/Doc/Window.py b/src/View/Doc/Window.py index 73416322..fec3b3aa 100644 --- a/src/View/Doc/Window.py +++ b/src/View/Doc/Window.py @@ -27,10 +27,9 @@ _translate = QCoreApplication.translate logger = logging.getLogger() -from PyQt5.QtWidgets import QApplication, QWidget +from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout from PyQt5.QtCore import QUrl -from PyQt5.QtWebKitWidgets import QWebView -from PyQt5.QtWebKit import QWebSettings +from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings class DocWindow(PamhyrWindow): _pamhyr_ui = "WebView" @@ -56,15 +55,18 @@ class DocWindow(PamhyrWindow): ) - self.setup_setting() + self.setup_web_engine() self.setup_url(filename) + def setup_web_engine(self): + vl = self.find(QVBoxLayout, "verticalLayout") + self._web_view = QWebEngineView() + + settings = self._web_view.settings() + settings.setAttribute(QWebEngineSettings.PluginsEnabled, True) + settings.setAttribute(QWebEngineSettings.JavascriptEnabled, False) + + vl.addWidget(self._web_view) + def setup_url(self, filename): - webView = self.find(QWebView, "webView") - webView.setUrl(QUrl(f"file://{self._path_file(filename)}")) - - def setup_setting(self): - webView = self.find(QWebView, "webView") - settings = webView.settings() - settings.setAttribute(QWebSettings.PluginsEnabled, True) - settings.setAttribute(QWebSettings.JavascriptEnabled, False) + self._web_view.setUrl(QUrl(f"file://{self._path_file(filename)}")) diff --git a/src/View/ui/WebView.ui b/src/View/ui/WebView.ui index d29a0c89..0576f1a3 100644 --- a/src/View/ui/WebView.ui +++ b/src/View/ui/WebView.ui @@ -16,13 +16,7 @@ <widget class="QWidget" name="centralwidget"> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> - <widget class="QWebView" name="webView"> - <property name="url"> - <url> - <string>about:blank</string> - </url> - </property> - </widget> + <layout class="QVBoxLayout" name="verticalLayout"/> </item> </layout> </widget> @@ -38,13 +32,6 @@ </widget> <widget class="QStatusBar" name="statusbar"/> </widget> - <customwidgets> - <customwidget> - <class>QWebView</class> - <extends>QWidget</extends> - <header location="global">QtWebKitWidgets/QWebView</header> - </customwidget> - </customwidgets> <resources/> <connections/> </ui> -- GitLab