使用包含CSS和JS文件的HTML文件运行QWebView时出现问题。
我在Windows 7 x64上使用Python 3.4运行pyqt5。
例如,这是我的HTML文件test.html:
<html>
<head>
<title>A Sample Page</title>
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="script.js">
</head>
<body>
<h1>Hello, World!</h1>
<hr/>
I have nothing to say.
</body>
</html>
我用线路
用HTML调用我的QWebViewview.setHtml(open("test.html").read())
仅使用此代码我无法在QWebView中运行样式表和脚本。 我使用line命令找到了CSS和JS文件的解决方案:
view.settings().setUserStyleSheetUrl(QUrl.fromLocalFile("style.css"))
和JS:
view.page().mainFrame().evaluateJavaScript(str(open("script.js").read()))
但是我找不到INSIDE css(或HTML)文件的字体或图像的解决方案。例如,在styles.css中:
src:url('fonts/times/timesroman.eot');
我尝试了绝对路径,但仍然没有工作。 有人可以帮忙吗?
提前致谢。
答案 0 :(得分:1)
我在搜索5小时后找到了解决方案,在设置绝对路径之前我必须使用前缀file:///所以我的例子是:
<html>
<head>
<title>A Sample Page</title>
<link rel="stylesheet" type="text/css" href="file:///C:/Users/....../style.css">
<script type="text/javascript" src="file:///C:/Users/....../script.js">
</head>
<body>
<h1>Hello, World!</h1>
<hr/>
I have nothing to say.
</body>
</html>
我希望这可以提供帮助。