2014-01-09 3 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> 

파이썬 코드 :

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 : 같은 디렉토리에있는 파이썬 코드 파일과 HTML 파일 여기 내 코드입니다. 그러나 웹킷에서는 비어있게 만듭니다.

답변

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

파이썬 코드 파일과 html이 같은 디렉토리에있는 것은 차이가 없습니다. 중요한 것은 html 파일이 현재 디렉토리에 있다는 것입니다. 먼저 해당 디렉토리에

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

또는 변경 : 당신이 절대 경로를 사용하는 경우

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

은 괜찮 작동합니다.

관련 문제