diff --git a/sw/supervision/python/doc_panel.py b/sw/supervision/python/doc_panel.py
index a869f5a2ec..169fe80125 100644
--- a/sw/supervision/python/doc_panel.py
+++ b/sw/supervision/python/doc_panel.py
@@ -10,7 +10,7 @@ except ImportError:
def setupUi(self, DocPanel):
self.deactivated = True
self.lay = QVBoxLayout(DocPanel)
- label = QLabel("Please install 'python3-pyqt5.qtwebkit' to view the doc.", DocPanel)
+ label = QLabel("Please install 'PyQtWebEngine' to view the doc.", DocPanel)
label.setTextInteractionFlags(Qt.TextSelectableByMouse | Qt.TextSelectableByKeyboard)
self.lay.addWidget(label)
diff --git a/sw/supervision/python/generated/ui_doc_viewer.py b/sw/supervision/python/generated/ui_doc_viewer.py
index ca65d062fc..b2cab5ebe5 100644
--- a/sw/supervision/python/generated/ui_doc_viewer.py
+++ b/sw/supervision/python/generated/ui_doc_viewer.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'ui/ui_doc_viewer.ui'
#
-# Created by: PyQt5 UI code generator 5.15.6
+# Created by: PyQt5 UI code generator 5.15.10
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again. Do not edit this file unless you know what you are doing.
@@ -93,6 +93,7 @@ class Ui_DocPanel(object):
self.layoutWidget3 = QtWidgets.QWidget(self.splitter_2)
self.layoutWidget3.setObjectName("layoutWidget3")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.layoutWidget3)
+ self.verticalLayout_2.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout = QtWidgets.QHBoxLayout()
@@ -118,8 +119,12 @@ class Ui_DocPanel(object):
self.doc_source_combo.addItem("")
self.horizontalLayout.addWidget(self.doc_source_combo)
self.verticalLayout_2.addLayout(self.horizontalLayout)
- self.webView = QtWebKitWidgets.QWebView(self.layoutWidget3)
- self.webView.setUrl(QtCore.QUrl("about:blank"))
+ self.webView = QtWebEngineWidgets.QWebEngineView(self.layoutWidget3)
+ sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.webView.sizePolicy().hasHeightForWidth())
+ self.webView.setSizePolicy(sizePolicy)
self.webView.setObjectName("webView")
self.verticalLayout_2.addWidget(self.webView)
self.verticalLayout_5.addWidget(self.splitter_2)
@@ -141,5 +146,5 @@ class Ui_DocPanel(object):
self.doc_source_combo.setToolTip(_translate("DocPanel", "source"))
self.doc_source_combo.setItemText(0, _translate("DocPanel", "Internet"))
self.doc_source_combo.setItemText(1, _translate("DocPanel", "Local"))
-from PyQt5 import QtWebKitWidgets
+from PyQt5 import QtWebEngineWidgets
from generated import resources_rc
diff --git a/sw/supervision/python/paparazzicenter.py b/sw/supervision/python/paparazzicenter.py
old mode 100755
new mode 100644
index 023c26187c..15c91be9c5
--- a/sw/supervision/python/paparazzicenter.py
+++ b/sw/supervision/python/paparazzicenter.py
@@ -299,9 +299,10 @@ class PprzCenter(QMainWindow, Ui_SupervisionWindow):
self.statusBar().setStyleSheet("")
-if __name__ == "__main__":
-
- app = QApplication(sys.argv)
+if __name__ == "__main__":
+ # argument needed for the webviewer to work (documentation)
+ # https://stackoverflow.com/questions/75922410/pyqt5-qwebengineview-blank-window
+ app = QApplication(sys.argv + ["--disable-seccomp-filter-sandbox"])
timer = QtCore.QTimer()
timer.start(100)
diff --git a/sw/supervision/python/requirements.txt b/sw/supervision/python/requirements.txt
index 92adab28d1..0a569d877c 100644
--- a/sw/supervision/python/requirements.txt
+++ b/sw/supervision/python/requirements.txt
@@ -1,3 +1,3 @@
PyQt5
+PyQtWebEngine
lxml
-
diff --git a/sw/supervision/python/ui/ui_doc_viewer.ui b/sw/supervision/python/ui/ui_doc_viewer.ui
index de74637f43..9c9e6e5990 100644
--- a/sw/supervision/python/ui/ui_doc_viewer.ui
+++ b/sw/supervision/python/ui/ui_doc_viewer.ui
@@ -117,6 +117,9 @@
+
+ QLayout::SetDefaultConstraint
+
-
-
@@ -170,11 +173,12 @@
-
-
-
-
- about:blank
-
+
+
+
+ 0
+ 0
+
@@ -186,9 +190,10 @@
- QWebView
+ QWebEngineView
QWidget
-
+
+ 1
diff --git a/sw/supervision/python/utils.py b/sw/supervision/python/utils.py
index dc9088b8b0..8bfad9a6f7 100644
--- a/sw/supervision/python/utils.py
+++ b/sw/supervision/python/utils.py
@@ -74,7 +74,7 @@ def open_terminal(wd, command=None):
terminal_emulator = get_settings().value("terminal_emulator", "", str)
if terminal_emulator == "":
terminal_emulator = "gnome-terminal"
- os.system("{} --working-directory {}{}".format(terminal_emulator, wd, cmd))
+ os.system("{}".format(terminal_emulator))
def get_settings() -> QSettings: