mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-05-23 04:45:37 +08:00
[supervision] Use PyQtWebEngine for the doc webview. (#3291)
QtWebKit is deprecated. Co-authored-by: Fabien-B <Fabien-B@github.com>
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Executable → Regular
+4
-3
@@ -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)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
PyQt5
|
||||
PyQtWebEngine
|
||||
lxml
|
||||
|
||||
|
||||
@@ -117,6 +117,9 @@
|
||||
</widget>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<property name="sizeConstraint">
|
||||
<enum>QLayout::SetDefaultConstraint</enum>
|
||||
</property>
|
||||
<item>
|
||||
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||
<item>
|
||||
@@ -170,11 +173,12 @@
|
||||
</layout>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QWebView" name="webView">
|
||||
<property name="url">
|
||||
<url>
|
||||
<string>about:blank</string>
|
||||
</url>
|
||||
<widget class="QWebEngineView" name="webView" native="true">
|
||||
<property name="sizePolicy">
|
||||
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||
<horstretch>0</horstretch>
|
||||
<verstretch>0</verstretch>
|
||||
</sizepolicy>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -186,9 +190,10 @@
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
<class>QWebView</class>
|
||||
<class>QWebEngineView</class>
|
||||
<extends>QWidget</extends>
|
||||
<header location="global">QtWebKitWidgets/QWebView</header>
|
||||
<header>qwebengineview.h</header>
|
||||
<container>1</container>
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user