Linux(Ubuntu)下PyQt WebEngineView加载本地HTML文件及显示空白问题
1.加载本地Html网页
1 import sys 2 from PyQt5.QtCore import * 3 from PyQt5.QtGui import * 4 from PyQt5.QtWidgets import * 5 from PyQt5.QtWebEngineWidgets import * 6 7 class MainWindow(QMainWindow): 8 def __init__(self): 9 super(MainWindow, self).__init__() 10 self.setWindowTitle('加载本地网页') 11 self.setGeometry(70,70,555,330)#窗口的初始位置和大小 12 self.browser=QWebEngineView() 13 #加载本地html 14 self.browser.load(QUrl(QFileInfo("./html/aa.html").absoluteFilePath())) 15 self.setCentralWidget(self.browser) 16 17 if __name__ == '__main__': 18 app=QApplication(sys.argv) 19 win=MainWindow() 20 win.show() 21 app.exit(app.exec_())
代码在win下可以正常加载运行,但是移植到Linux下缺加载不出来,一直显示空白。
2.空白问题解决
1 load(QUrl(QFileInfo(‘xxx.html’).absoluteFilePath()))
其实是加载html文件时使用相对路径还是绝对路径的问题,因此修改代码为如下:
1 load(QUrl(“file://’+QFileInfo(‘xxx.html’).absoluteFilePath()))
同时,还要检查是否安装了PyQt5-stubs环境,如果没有该包也仍旧无法正常显示。
1 pip install PyQt5-stubs
成功显示了本地HTML文件。