我正在将我的代码从 Qt 5.5 升级到 Qt 5.6,但我没有找到移植以下代码的方法:
QWebEngineView *qwebview = new QWebEngineView(this);
qwebview->settings()->setUserStyleSheetUrl(QUrl("qrc:/about.css"));
qwebview->setHtml(fileContentStr);
使用新的 Qt Web 引擎插入用户 CSS 的最佳方式是什么?
我正在将我的代码从 Qt 5.5 升级到 Qt 5.6,但我没有找到移植以下代码的方法:
QWebEngineView *qwebview = new QWebEngineView(this);
qwebview->settings()->setUserStyleSheetUrl(QUrl("qrc:/about.css"));
qwebview->setHtml(fileContentStr);
使用新的 Qt Web 引擎插入用户 CSS 的最佳方式是什么?
如果您在这里阅读:关于 QWebEngine 的错误报告,您会看到:
将 CSS 代码注入 WebEngineView 的唯一机会是使用 JavaScript。有一个合适的 API 会很好,它看起来就像我们已经存在的 UserScripts API。
看起来很清楚:您不能再使用 WebSettings 来插入 CSS。相反,您必须使用 HTML/JavaScript 来执行此操作。
我不知道它是否会帮助你,但这里是我所做的摘录。
在我的.cpp
:
m_pView = new QWebEngineView(this);
QUrl startURL = QUrl("path/to/index.html");
m_pView->setUrl(startURL);
并且在index.html
:
<html>
<head>
<title>TITLE</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Many JS scripts here -->
<link href="./css/style.css" rel="stylesheet">
</head>
<body ng-app="myApp" >
<div ui-view class="page"></div>
</body>
</html>
希望有帮助。