2016-12-15 18 views
0

Я хочу загрузить локальный HTML-файл (с относительными css и js-файлами) в свой QwebView Pyside Widget, но он ничего не показывает. вот мой код:Загрузите локальный файл html в Pyside QwebView

class SplashWidget(QtGui.QWidget): 
    WINDOW_WIDTH= 800 
    WINDOW_HEIGHT=600 

    WINDOW_TITLE="Splash" 
    WINDOW_FOOTER_MESSAGE="Some Text here for [X] Project 2016" 
    WINDOW_PARENT=None 
    view=None 

    def __init__(self, parent=None): 
     super(SplashWidget, self).__init__(parent) 
     self.WINDOW_PARENT=parent 
     self.layout = QtGui.QHBoxLayout() 
     self.addWidgets() 

     self.view = QWebView(self) 
     self.view.setMinimumSize(self.WINDOW_WIDTH,self.WINDOW_HEIGHT-100) 
     self.view.setMaximumSize(self.WINDOW_WIDTH,self.WINDOW_HEIGHT-100) 
     cwd = os.getcwd() 
     self.view.load(QUrl("file://"+cwd+"\\resource\\Splash.html")) 
     self.view.show() 

     button = MyWidgets.createPushButton("btn",self,100,100,self.complete_name) 
     button.move(100,100) 

, как я могу это исправить?

мой HTML-файл находится в папке ресурсов в корневой директории моего проекта

ответ

0

решается просто заменить:

self.view.load(QUrl("file://"+cwd+"\\resource\\Splash.html")) 

к:

self.view.load(QUrl.fromLocalFile(cwd+"\\resource\\Splash.html")) 
+1

Использование 'os.getcwd()' сломана : нет гарантии, что он будет таким же, как корневой каталог вашего проекта. Используйте 'os.path.dirname (os.path.abspath (__ file __))', чтобы получить каталог текущего модуля. – ekhumoro