小编Gab*_*ert的帖子

如何使用 QWebEngineView 打开下载文件对话框?

我正在构建一个 pyqt5 桌面界面,在其中使用 QWebEngineView 显示 html 文件,在其中显示 Leaflet 地图。这工作正常。下一步是导出用户添加到地图中的所有要素。当我点击地图上的“导出功能”时,没有任何反应,但是当我在 Chromium Web 浏览器上打开相同的 html 文件时,“导出功能”会正常打开下载对话框。

PyQt5脚本:

self.MainWindow.webMapViewer = QtWebEngineWidgets.QWebEngineView()
self.MainWindow.webPageLayout.addWidget(self.MainWindow.webMapViewer)
self.html_path = os.path.split(os.path.abspath(__file__))[0] + r'/html/test.html'
self.MainWindow.webMapViewer.load(QtCore.QUrl().fromLocalFile(self.html_path))
Run Code Online (Sandbox Code Playgroud)

HTML:

<!DOCTYPE html>
        <html lang="en">
          <head>
            <meta charset="utf-8">
            <meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no' />
            <title>FazMaraneyRGB_transparent_mosaic_group1</title>

            <!-- Leaflet -->
            <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.css" />
            <script src="http://cdn.leafletjs.com/leaflet-0.7.5/leaflet.js"></script>

            <!-- Leaflet.draw -->
            <link rel="stylesheet" href="https://unpkg.com/leaflet-draw@0.4.1/dist/leaflet.draw.css" />
            <script src="https://unpkg.com/leaflet-draw@0.4.1/dist/leaflet.draw.js"></script>

            <!-- Leaflet Ajax -->
            <script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet-ajax/2.1.0/leaflet.ajax.min.js"></script>

            <!-- Leaflet Measument -->
            <link rel="stylesheet" href="http://ljagis.github.io/leaflet-measure/leaflet-measure.css" />
            <script src="http://ljagis.github.io/leaflet-measure/leaflet-measure.min.js"></script>


            <style>
                body { margin:0; padding:0; …
Run Code Online (Sandbox Code Playgroud)

python pyqt pyqt5 qwebengineview

3
推荐指数
1
解决办法
2437
查看次数

标签 统计

pyqt ×1

pyqt5 ×1

python ×1

qwebengineview ×1