首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法用QWebEngineView.setHtml()加载HTML文件

无法用QWebEngineView.setHtml()加载HTML文件
EN

Stack Overflow用户
提问于 2017-12-06 16:57:08
回答 1查看 4K关注 0票数 1

我的问题的解决办法可能很简单,但我却不理解。我正在尝试用PyQt5将一个HTML文件加载到一个PyQt5中。我的做法是:

代码语言:javascript
复制
self.webView = QtWebEngineWidgets.QWebEngineView(self.splitter)
html = r"C:\DATI\git\webgis\map.html"
self.webView.setHtml(html)

唯一能得到的是一个表示HTML文件的路径和名称的字符串:

C:\DATI\git\webgis\map.html

我的map.html看起来是这样的:

代码语言:javascript
复制
<html>
  <head>
    <title>Simple Map</title>
    <link rel="stylesheet" href="https://openlayers.org/en/v4.5.0/css/ol.css" type="text/css">
    <!-- The line below is only needed for old environments like Internet Explorer and Android 4.x -->
    <script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList,URL"></script>
    <script src="https://openlayers.org/en/v4.5.0/build/ol.js"></script>
    <script src=".js/qwebchannel.js"></script>
    <style>
        body { padding: 0; margin: 0; }
        html, body, #map { height: 100%; }
    </style>
  </head>
  <body>
    <div id="map" class="map"></div>
    <script  src="./js/map.js"></script>
  </body>
</html>

奇怪的是(至少对我来说),如果我做了self.webView.setHtml("<html><head></head><body><h1>ciao</h1></body></html>"),这将正确地呈现HTML。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-06 17:16:08

setHtml法所做的正是它的名称:它从一个字符串加载html内容。您要做的是加载一个url,为此,您需要使用载荷法

代码语言:javascript
复制
url = QtCore.QUrl.fromLocalFile(r"C:\DATI\git\webgis\map.html")
self.webView.load(url)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47679599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档