将本地html文件加载到Python中的QWebView中

时间:2016-04-20 08:37:22

标签: python qt qwebview

这是我的问题:我想在Python中将本地html文件加载到QWebView。 编辑:我使用PySide作为Qt包。

我的代码:

class myWindow(QWidget):
    def __init__(self, parent=None):
        self.view = QWebView(self)
        filepath = "file://" + os.path.join(os.path.dirname(__file__), 'googlemap.html')
        self.view.load(QUrl(filepath))

这只是向我展示了一个空白的小部件。 如果我改变

self.view.load(QUrl(filepath)

通过

self.view.load(QUrl("http://www.google.com/"))

工作正常。

但是,该文件显然位于正确的目录中,我可以直接使用浏览器打开相同的文件。

编辑2: 我的Raspberry Pi 2(运行上面的代码)更新后出现问题

1 个答案:

答案 0 :(得分:5)

两个观察结果:

这样的事情

file_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "aa.html"))
local_url = QUrl.fromLocalFile(file_path)
browser.load(local_url)

应该有用。

完整示例:

from PyQt4.QtWebKit import QWebView
from PyQt4.QtGui import QApplication
from PyQt4.QtCore import QUrl
import sys
import os

app = QApplication(sys.argv)

browser = QWebView()
file_path = os.path.abspath(os.path.join(os.path.dirname(__file__), "aa.html"))
local_url = QUrl.fromLocalFile(file_path)
browser.load(local_url)

browser.show()

app.exec_()