2014-01-09 46 views
1

使用PySide QtWebkit,我想在QWebView中显示一个主页html页面。我试过了,但我无法渲染它。下面是我的代码:如何使用QtWebkit加载本地静态HTML文件

home.html的

<!DOCTYPE html> 
<html> 
    <head><title>HomeStart</title></head> 
    <body> 
     <h3 align="center">Home Page</h3> 
     <div> 
      <img src="images/welcome.png"/> 
     </div> 
    </body> 
</html> 

Python代码

self.view = QtWebKit.QWebView() 
self.view.load("home.html") # can not render in webkit. 
# QtCore.QUrl.fromLocalFile(QtCore.QFile().fileName())) # can not render in webkit either. 

PS:在Python代码文件和HTML文件在同一目录下。但在webkit中,它将其呈现为空白。

回答

0

它适用于我很简单的代码。也许你遗漏了一些东西。

import sys 
from PySide.QtGui import * 
from PySide.QtWebKit import QWebView 

class Window(QWidget): 
    def __init__(self, *args, **kwargs): 
     QWidget.__init__(self, *args, **kwargs) 

     self.view = QWebView(self) 
     self.view.load("home.html") 

     self.layout = QHBoxLayout() 
     self.layout.addWidget(self.view) 

     self.setLayout(self.layout) 
     self.show() 

app = QApplication(sys.argv) 
win = Window() 
sys.exit(app.exec_()) 
1

Python代码文件和html在同一个目录中没有区别。重要的是,该HTML文件位于当前目录

如果您使用绝对路径:

self.view.load("/path/to/html/files/home.html") 

或改变相关目录第一:

os.chdir("/path/to/html/files") 
self.view.load("home.html") 

那么它应该工作正常。