swa*_*son 3 python qt pyqt qwebview pyside
我使用QWebView显示一些内容,我想使用自定义CSS来修改输出.我发现我可以使用该QWebSettings.setUserStyleSheetUrl()方法将自己的CSS加载到视图中.该.css文件与我的主程序位于同一目录中.
self.webview = QWebView(MainWindow)
self.webview.settings().setUserStyleSheetUrl(QUrl.fromLocalFile("myCustom.css"))
Run Code Online (Sandbox Code Playgroud)
但是,当我使用内容添加到页面时,不会加载自定义样式setHtml().我已经测试过CSS在标准浏览器中正确应用于HTML.
知道我做错了什么吗?
在Qt中,外部文件的所有路径都需要是ABSOLUTE路径,而不是相对路径.
要解决此问题,我添加以进行以下更改:
path = os.getcwd()
self.webview.settings().setUserStyleSheetUrl(QUrl.fromLocalFile(path + "/myCustom.css"))
Run Code Online (Sandbox Code Playgroud)
一切正常.希望这将有助于未来的人并节省他们几个小时的调试时间.